Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中为富文本框中的文本着色?_C#_Winforms_Colors_Richtextbox - Fatal编程技术网

如何在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方法。将任何内容指定给该框的文本属性都将破坏该框。