lblOperationType.Text = "Text";
Label l1 = new Label();
int len = lblOperationType.Text.Length - 1;
string b = Convert.ToString(lblOperationType.Text.ToCharArray()[0]);
string a = lblOperationType.Text.Substring(1, len);
l1.Text = (b);
l1.ForeColor = Color.Red;
lblOperationType.Text = l1.Text + a;
这是正确的代码吗?我必须做一个标签像第一个字母的文字应该是红色的。
答案 0 :(得分:3)
不,通常(即没有自己自定义渲染)标签只有一个前景色。假设这是Windows窗体,听起来你可能想要一个RichTextBox
- 它允许在一个控件中使用多种颜色,字体等。
举个例子:
using System;
using System.Drawing;
using System.Windows.Forms;
class Test
{
static void Main()
{
var rtb = new RichTextBox {
Text = "Test",
ReadOnly = true
};
rtb.Select(1, 3);
rtb.SelectionColor = Color.Red;
rtb.DeselectAll();
var form = new Form { Controls = { rtb } };
Application.Run(form);
}
}
这不是非常好的代码 - 最好直接设置Rtf
属性,使用设置颜色所需的控制代码,但是我有一个棘手的时间来获得正确的RTF格式