我希望在文本框中以2种颜色显示文字,例如1行红色2蓝色,如果我使用name.ForeColor = Color.Red;
所有文字更改颜色,但我希望它只会改变1行颜色。
答案 0 :(得分:41)
使用RichTextBox,这是Nathan Baulch的扩展方法
public static class RichTextBoxExtensions
{
public static void AppendText(this RichTextBox box, string text, Color color)
{
box.SelectionStart = box.TextLength;
box.SelectionLength = 0;
box.SelectionColor = color;
box.AppendText(text);
box.SelectionColor = box.ForeColor;
}
}
了解更多here
答案 1 :(得分:16)
您需要使用RichTextBox。
然后,您可以通过选择文本并更改选择颜色或字体来更改文本颜色。
richTextBox1.SelectionFont = new Font("Verdana", 12, FontStyle.Bold);
richTextBox1.SelectionColor = Color.Red;
答案 2 :(得分:0)
首先,您提供的详细信息+标签是不够的 - C#没有一个特定的UI框架,它有一些:WPF,Winforms,ASP.NET,Silverlight。
其次,在上述任何一种情况下,您无法使用常规文本框控件执行此操作。 您需要查找/创建具有不同行为的自定义UI控件或使用更高级的控件,例如一个富文本框。