如何在C#中更改文本框中的字体颜色?

35

如果我想上传一个文本文件到文本框,并想要通过更改字体颜色来突出显示某些单词,那么我该如何做到这一点,而不需要绘制文本呢?

谢谢。


1
那是文本框还是富文本框? - Theresa
2
使用哪种技术?WinForms?WPF? - Eric J.
这个问题如果不告诉我们您是在问桌面应用程序还是Web应用程序是无法回答的。(我猜是后者。) - Jon Seigel
你不能使用普通的文本框控件来完成它。需要使用 RTB。 - Hans Passant
据我所知,RTB会立即添加双倍行距,如果没有WPF,无法修复。 - JimmyMcHoover
显示剩余2条评论
2个回答

40

假设使用WinForms,ForeColor属性允许更改TextBox所有的文本(不仅仅是你将要添加的):

TextBox.ForeColor = Color.Red;

如果只想改变特定单词的颜色,可以查看RichTextBox


这个不是“突出显示某些单词”,而是改变所有单词的颜色。我认为这不是一个正确的答案。 - Ander Biguri
OP已经明确指出他想通过字体颜色变化来突出显示...所以他只需要改变颜色即可。 - Will Marcouiller
但是他指定了“突出某些单词”,如果您更改文本的ForeColor,所有文本都会更改,而不是“某些单词”。 - Ander Biguri
@AnderBiguri:我相信RichTextBox可以做到,虽然我自己从未使用过。不过你关于“特定单词”的想法可能是正确的。 - Will Marcouiller
这取决于他所说的“highlighting”是否指更改文本颜色,还是像使用荧光笔一样突出显示。 - WhatsThePoint
显示剩余2条评论

4

RichTextBox可以使用HTML来指定颜色。另一个选择是使用listbox并使用DrawItem事件来绘制所需的样式。据我所知,文本框本身无法以您希望的方式使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接