2010-10-19 3 views
5

У меня есть такой код.C# apply Color to Font

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

Вы когда-нибудь слышали о «пространствах имен»? – Mike

ответ

12

Поскольку шрифт не имеет цвета. Элемент управления может отображать текст с использованием шрифта и цвета, но цвет не является свойством шрифта.

EDIT:

Если вы хотите текстовое поле, которое использует данный шрифт и цвет вы можете сделать следующее (я предполагаю, что вы используете WinForms):

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

this.Controls.Add(myTextBox); 
+0

Я видел пример использования цвета в учебниках ... нормально .. Как это сделать с помощью Control? –

+0

@Toktik Я обновил свой ответ. –

2

шрифты сделать не имеют цветов. Вы используете цвета в самом коде чертежа или в свойстве Control.ForeColor

1

установить цвет для свойства ForeColor для управления. это установит желаемый цвет шрифта. Вы не можете напрямую установить цвет шрифта. вам нужно будет установить шрифт и forecolor отдельно для управления.