2011-10-18 62 views

回答

8

使用SelectedValu combobox1的eChanged事件來檢查選定的值。基於此禁用或啓用combobox2。

private void combobox1_SelectedValueChanged(object sender, Eventargs e) 
{ 
    if (combobox1.SelectedValue == myDisableValue) 
     combobox2.Enabled = false; 
    else 
     combobox2.Enabled = true; 
} 
+0

謝謝我使用了這個,但我想我要添加單選按鈕並使用private void radioButton1_CheckedChanged(object sender,EventArgs e) { comboBox4.Enabled = true; comboBox5.Enabled = false; } –

1

您可以處理兩者的組合框的SelectedValueChanged事件,如果任何組合都有你所需值禁用另一個

+0

因此,如果(combobox1 ==「xxx」)comboBox2被鎖定? –

+0

或者你會推薦使用單選按鈕? –

+0

if(combobox1.SelectedValue ==「xxx」){comboBox2.Enabled = false;} –

0

與此類似的東西,只設置任何你想要的屬性,或不清除它,或任何其他。 (測試組合未被數據綁定)

public partial class Form1 : Form 
{ 
    bool fireEvents = true; 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if (fireEvents) doCheck(sender, e); 
    } 

    private void comboBox2_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if (fireEvents) doCheck(sender, e); 
    } 

    private void doCheck(object sender, EventArgs e) 
    { 
     fireEvents = false; // because we don't have a way to cancel event bubbling 
     if (sender == comboBox1) 
     { 
      comboBox2.SelectedIndex = -1; 
     } 
     else if (sender == comboBox2) 
     { 
      comboBox1.SelectedIndex = -1; 
     } 
     fireEvents = true; 
    } 

} 
相關問題