我想显示在2种颜色的文本框的文本,例如1行红色2蓝色,如果我用name.ForeColor = Color.Red;
所有的文本改变颜色,但我想,这将改变只有1线的颜色。
Answer 1:
你需要使用一个RichTextBox的 。
然后,您可以通过选择文本并更改选择的颜色或字体更改文本颜色。
richTextBox1.SelectionFont = new Font("Verdana", 12, FontStyle.Bold);
richTextBox1.SelectionColor = Color.Red;
Answer 2:
使用针对一个RichTextBox,这里是由Nathan鲍奇扩展方法
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;
}
}
阅读更多在这里
Answer 3:
这是一个带FontDialog类和ColorDialog类的例子。
void TextfarbeToolStripMenuItemClick(object sender, EventArgs e)
{
colorDialog1.ShowDialog();
richTextBox1.ForeColor = colorDialog1.Color;
listBox1.ForeColor = colorDialog1.Color;
}
void FontsToolStripMenuItemClick(object sender, EventArgs e)
{
fontDialog1.ShowDialog();
richTextBox1.Font = fontDialog1.Font;
listBox1.Font = fontDialog1.Font;
}
void HintergrundfarbeToolStripMenuItemClick(object sender, EventArgs e)
{
colorDialog1.ShowDialog();
richTextBox1.BackColor = colorDialog1.Color;
listBox1.BackColor = colorDialog1.Color;
}
Answer 4:
首先,你所提供的细节+标签是不够的 - C#没有一个具体的UI框架,它有几个:WPF,的WinForms,ASP.NET,Silverlight的。
其次重要的是,你不能在任何上述的常规TextBox控件做到这一点。 你将需要找到/创建具有不同的行为,或者使用更先进的控制如丰富的文本框自定义UI控件。
文章来源: Multi-color TextBox C#