首页 文章

一种克服RichTextBox限制的方法?

提问于
浏览
0

我正在使用WinForms和RichTextBox控件开发一个应用程序 . 此控件允许使用属性更改RTF格式,以更改所选文本的字体 . 我有一个按钮可以在文本上切换粗体:

richTextBoxEditor.SelectionFont = new Font(richTextBoxEditor.SelectionFont,
    richTextBoxEditor.SelectionFont.Style ^ FontStyle.Bold);

我的其他按钮(斜体,下划线)具有相同的代码,但FontStyle.Bold部分除外,该部分已更改为适当的格式 .

现在问题是,如果我写“Hello World”并将“Hello”更改为斜体,然后我尝试将整个“Hello World”更改为粗体,“Hello”丢失其斜体 . 我明白为什么会这样做(因为整个选择的枚举是空的,所以当我切换粗体时,斜体标志仍为0),但我试图找到一种方法来克服这个问题 . 我不能想到任何一个字符和单独改变风格的东西 .

你们有什么好主意吗?

谢谢 .

1 回答

  • 0

    听起来像个字符是你最安全的赌注 . 除非您正在创建一个完整的文字处理器,否则它似乎不是一个重大问题 .

    另一种选择是根据当前样式分解选择 . 因此,如果某人选择了比应用样式更大的区域,则需要将选区分为两部分:完全重叠样式区域的部分和不与样式区域重叠的部分 . 你需要逐个字符地找出分解选择的位置,但至少你不必将样式应用于每个角色 .

相关问题