如何在C#中为富文本框中的文本着色?
可能重复:如何在C#中为富文本框中的文本着色?,c#,winforms,colors,richtextbox,C#,Winforms,Colors,Richtextbox,可能重复: 在Visual C#.NET中,我希望在将特定文本键入富文本框时更改其颜色 例如,我可能想给世界加上颜色“hi”,因此当用户在富文本框中键入时,如果他们键入“hi”,它将改变颜色,“hi”一词将与富文本框中所有其他文本的颜色不同 我该怎么做?有没有更好的方法来做到这一点,而不是在富文本框中?我记得在Flex中做过类似的事情。我们必须扩展richtextbox控件,并创建自己的自定义控件,该控件将根据输入的内容更改文本颜色。我们使用数据更改事件来实现这一点。但我的直觉是,要做到这一点
在Visual C#.NET中,我希望在将特定文本键入富文本框时更改其颜色 例如,我可能想给世界加上颜色“hi”,因此当用户在富文本框中键入时,如果他们键入“hi”,它将改变颜色,“hi”一词将与富文本框中所有其他文本的颜色不同
我该怎么做?有没有更好的方法来做到这一点,而不是在富文本框中?我记得在Flex中做过类似的事情。我们必须扩展richtextbox控件,并创建自己的自定义控件,该控件将根据输入的内容更改文本颜色。我们使用数据更改事件来实现这一点。但我的直觉是,要做到这一点,您必须创建一个自定义控件。在您的TextChanged事件处理程序中
txtRichTextBox.Select(txtRichTextBox.Text.IndexOf("hi"), "hi".Length);
txtRichTextBox.SelectionColor = YourColor;
txtRichTextBox.SelectionFont = new Font("Times New Roman",FontStyle.Bold);
如何创建一个功能类似于富文本框的自定义控件?@Jacob-这是一个很好的富文本框控件示例,它扩展了默认的富文本框控件以检测控件中的URL高亮显示。这可能是你做你想做的事情的最佳选择,因为你可以应用你的需要。(虽然它是c#的旧版本,但它会让你走上正确的道路)我应该为“youText”添加什么?我是否遗漏了一条指令或其他什么?注意——要使它起作用,必须使用AppendText方法。将任何内容指定给该框的文本属性都将破坏该框。