2010-10-19 95 views
5

我有這樣的代碼。C#將顏色應用於字體

System.Drawing.Color col = System.Drawing.ColorTranslator.FromHtml("#101B83"); 
System.Drawing.Font nameFont = new System.Drawing.Font("Tahoma", 10); 
System.Drawing.Font birthdayFont = new System.Drawing.Font("Tahoma", 6); 
System.Drawing.SolidBrush drawBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Black); 
nameFont.Color = col; 

最後一行不起作用,因爲無法找到.Color字段。爲什麼?

+0

你有沒有聽說過'namespaces'? – Mike 2010-10-19 09:00:07

回答

12

因爲字體沒有顏色。控件可以使用字體和顏色來呈現文本,但顏色不是字體的屬性。

編輯:

如果你想使用給定的字體和顏色,你可以做以下的文本框(我假設你正在使用的WinForms):

var myTextBox = new TextBox(); 
myTextBox.ForeColor = col; 
myTextBox.Font = birthdayFont; 
myTextBox.Text = "Happy birthday!"; 

this.Controls.Add(myTextBox); 
+0

我見過在教程上使用顏色的例子...好的..如何用控件做到這一點? – 2010-10-19 08:32:28

+0

@Toktik我已經更新了我的答案。 – 2010-10-19 08:40:29

2

字體做沒有顏色。您在繪圖代碼本身中使用顏色,或者使用Control.ForeColor屬性

1

將顏色設置爲控件的ForeColor屬性。這將設置您的字體所需的顏色。 您不能直接將顏色設置爲字體。 你將不得不分別設置字體和forecolor控制。