2013-02-19 84 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);