2009-11-20 64 views
0

使用C#中的WinApp形式,和這裏的許多按鈕...C#按鈕文本條件

我想創建一個條件,如果一個按鈕中有文本,則該按鈕的背景顏色。這聽起來很容易做到。但我擁有的是一組常用的按鈕,它們中的文本取決於XML文檔中的值。

示例:第1周 - 按鈕1,3和5中包含文本。第2周 - 按鈕2和3有文字。

如何設置單獨條件來檢查按鈕是否包含文本,然後在按鈕中有文本值時更改顏色。

謝謝。

+0

讓我擴展一下我的目標:在XML文檔中還有一個名爲的字段。這可能只是1個按鈕,或2個或更多。所以,當 = 2按鈕我需要它爲文本的第一個按鈕和下一個按鈕着色。 – 2009-11-20 00:56:57

回答

1

你想要這樣的東西嗎?

foreach (var btn in this.Controls.OfType<Button>()) { 
    btn.BackColor = (string.IsNullOrEmpty(btn.Text)) 
       ? SystemColors.ButtonFace : Color.AliceBlue; 
} 

我把它放在一個方法,並調用它的形式加載,或當按鈕的文本改變。

2

我會延長按鈕並覆蓋標籤設置器,以便在將標籤的內容設置爲某個非空值時也會更改顏色。