2017-02-14 58 views
0

在我的項目中,我有包含很多標籤的面板1,默認情況下,當我運行應用程序時,我的panel.enable應該是false,但標籤的前面顏色會變黑,我可以這種顏色是面板被禁用。如何更改禁用面板內的標籤的forecolor

我曾嘗試在加載下面的代碼,但沒有奏效

private void Form1_Load(object sender, EventArgs e) 
{ 
    if (panel1.Enabled == false) 
    { 
     label13.ForeColor = Color.Gold; 
    } 
} 
+0

你說'panel.enable' *應該*爲false。你有沒有調試過上面的代碼來證明這種情況? – Rob

+0

是的,我這樣做,它已經是假的,但顏色並沒有改變 –

回答

0

你應該總是使用SystemColors,而不是像Color.Black。 如果您硬編碼特定顏色值,那麼當用戶自定義其默認Windows主題時,它們通常會發生衝突。 Raymond Chen討論了這個危險在他的博客的一篇文章中

你應該改變行:

label13.ForeColor = Color.Gold; 

要:

label13.ForeColor = Color.FromKnownColor(KnownColor.Gold); 

我希望你發現它有助於