2011-12-20 59 views
1

這是我需要針對特定​​情況複選框-與組合框像一個普通的組合框動作select one value of checkboxCombobox選擇checkboxCombobox(附加的)的一個值

一個附加問題。我需要一次只能選擇一個值。我現在明白了。我的下一個問題是:現在

private void PreDefSerials_SelectedValueChanged(object sender, EventArgs e) 
{ 
    if (PreDefSerials.SelectedIndex > -1) 
    { 
     // shut down the evenhandler 
     PreDefSerials.SelectedValueChanged -= PreDefSerials_SelectedValueChanged; 
     // get the selected items name. 
     string test = PreDefSerials.SelectedItem.ToString(); 

     // deselect all boxes 
     for (int i = 0; i < PreDefSerials.CheckBoxItems.Count; i++) 
     { 
      PreDefSerials.CheckBoxItems[i].CheckState = CheckState.Unchecked; 
     } 

     if(test != "") 
      // select the selected text again 
      PreDefSerials.CheckBoxItems[test].CheckState = CheckState.Checked; 

     // reinstate the eventhandler 
     PreDefSerials.SelectedValueChanged += PreDefSerials_SelectedValueChanged; 
    } 
} 

我的問題是,當我在checkbocombobox選擇第二項所選擇的項目是(ITEM1,ITEM2)。用這個名字我重新檢查該項目不起作用。

我怎樣才能得到checkboxcombobox最近點擊的項目?

回答

1

爲什麼我總是想要做到這一點!爲什麼要使用checkboxcombobox作爲組合框?只是因爲我在我的表格上有了它!

有一個更好,更簡單的方法來完成這個問題!添加一個組合框。所以我做了。我的新解決方案與checkboxcombobox在同一位置上是一個不可見的組合框。當某個事件發生時,我的組合框將變得可見,並且我的checkboxcombobox將變得不可見。

comboBox1.Visible = true; 
PreDefSerials.Visible = false; 

當我的動作完成後,組合框將再次消失。所有人都感謝與我一起思考。

0

屬性SelectedItem包含最近選擇的項目,屬性SelectedItems包含所有選定的項目。

+0

string test = PreDefSerials.SelectedItem.ToString(); 也用(item1,item2)填充字符串 – Moonlight 2011-12-20 14:19:56