-2

我想在同一行将文本框(或标签)的文本设置为粗体并将其颜色更改为蓝色。

目前我正在使用这个。

label1.Font = new Font(textBox1.Font, FontStyle.Bold);
label1.ForeColor = Color.Blue;

是否有一个单行代码可以做到这一点。谢谢 !

4

2 回答 2

2

当然:

label1.Font = new Font(textBox1.Font, FontStyle.Bold); label1.ForeColor = Color.Blue;

这就是你所能做的。

换句话说,没有。字体和渲染它的颜色是完全独立的,这就是为什么Font类中没有与颜色相关的属性。

于 2013-02-19T15:32:53.043 回答
0

我认为你能做的最好的就是创建一个扩展方法。在引擎盖下它仍然是多行的,但是如果您希望代码成为实际进行更改的单行代码,那么语法糖就足够了。就像是,

public static class LabelHelper
{
    public static Label ChangeFormatting(this Label label, Font font, Color color, Color color)
    {
        if (label == null)
        {
            return;
        }

        label.Font = font;
        label.ForeColor = color;
    }
}

然后这样称呼它:

label1.ChangeFormatting(new Font(textBox1.Font, FontStyle.Bold), Color.Blue);
于 2013-02-19T15:38:13.143 回答