如何将不同的前景色设置为单个标签

本文关键字:设置 单个 标签 前景色 | 更新日期: 2023-09-27 18:36:25

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;

这是正确的代码吗?我必须制作一个标签 像第一个字母这样的文本应该是红色的。

如何将不同的前景色设置为单个标签

不,一般来说(即没有自定义渲染自己),标签只有一种前景色。假设这是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 的确切格式时遇到了棘手的问题。