2013-02-19 52 views
-2

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

目前我正在使用这个。

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

有没有一个单行代码来做到这一点。 谢谢!

+1

你觉得有什么好处,你就可以在一个单一的线做这得到什么? – 2013-02-19 15:32:43

+2

只是将它们放在一行中:P – Bolu 2013-02-19 15:32:47

+2

删除'label1.Font = new Font(textBox1.Font,FontStyle.Bold);'后面的'\ n \ r' – 2013-02-19 15:33:25

回答

2

肯定的:

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

这是你能做的一切。

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

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);