[英]How to Disable comboBox if other comboBox is selected (C#)
如果其他組合框中包含某種文本或值,是否仍有禁用該組合框的功能。 我嘗試了幾件事,但似乎無法使其正常工作。
以下是示例
使用combobox1的SelectedValueChanged事件檢查選定的值。 基於此禁用或啟用combobox2。
private void combobox1_SelectedValueChanged(object sender, Eventargs e)
{
if (combobox1.SelectedValue == myDisableValue)
combobox2.Enabled = false;
else
combobox2.Enabled = true;
}
您可以處理兩個組合框的SelectedValueChanged事件,如果任何一個組合具有所需的值,請禁用另一個
與此類似,請僅設置所需的任何屬性,或不清除它或其他任何屬性。 (測試組合未綁定數據)
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;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.