2010-10-24 71 views
0

我建立一個WinForms應用程序在C#.NET的WinForms組合框 - 如何校驗值

的WinForms應用程序具有其中DropDownStyle設置爲DropDownList一個ComboBox。當App啓動時,我讀取一個XML文件來填充ComboBox的值。此時,默認情況下,組合框中沒有任何內容被選中。結果,變更和刪除按鈕被禁用。

現在,當用戶選擇一個值時,我希望啓用「更改」和「刪除」按鈕。到目前爲止,我已經完成了(儘管我不確定我是否以正確的方式完成了這項工作)。

我已經在SelectionChangeCommitted事件中編寫了代碼。

private void cbList_SelectionChangeCommitted(object sender, EventArgs e) 
{ 
    if (cbList.SelectedItem != null) 
    { 
     this.btnModify.Enabled = true; 
     this.btnRemove.Enabled = true; 
    } 
    else 
    { 
     this.btnModify.Enabled = false; 
     this.btnRemove.Enabled = false; 
    } 
} 

現在,當我選擇一個值...按鈕啓用(按預期)。用戶然後點擊刪除按鈕,我們刪除選定的值。現在,cbList中沒有任何選項,但按鈕仍處於啓用狀態?

什麼是功能/事件,我檢查是否選擇一個值,然後啓用/禁用按鈕。

回答

1

此刻,沒有Visual Studio,所以我不記得我們有哪些事件。但是你可以做這個,

private void CheckButtons() 
    { 

     if (cbList.SelectedItem != null) 
     { 
      this.btnModify.Enabled = true; 
      this.btnRemove.Enabled = true; 
     } 
     else 
     { 
      this.btnModify.Enabled = false; 
      this.btnRemove.Enabled = false; 
     } 
    } 

,並使用你的FUNC事件

private void cbList_SelectionChangeCommitted(object sender, EventArgs e) 
{ 
CheckButtons(); 
} 

如你所說,刪除後,按鍵仍然是可見的,所以您可以刪除功能後,把CheckButtons()函數像

DeleteX(); 
CheckButtons();