有时除了组合框's SelectedIndexChanged
本文关键字:SelectedIndexChanged 组合 | 更新日期: 2023-09-27 18:04:49
我有一个组合框,它有SelectedIndexChanged事件,但我想忽略该事件在某些情况下,我怎么能实现这个功能。
描述代码
private void Form1_Load(object sender, EventArgs e)
{
List<string> lstString = new List<string>();
lstString.Add("One");
lstString.Add("Two");
lstString.Add("Three");
foreach (string str in lstString)
cBox.Items.Add(str);
//Here I want Ignore cbox_SelectedIndexChanged Event
cBox.SelectedIndex = 0;
}
private void cBox_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show("Your Selected Item is :- " + cBox.SelectedItem.ToString());
}
您可以选择两种方法中的任何一种。
- 有一个bool标志,当你想要忽略正在运行的事件处理程序时,将为这些条件设置该标志。并在
SelectedIndexChanged
方法 中使用该标志 - 只有在设置了
cBox.SelectedIndex=0
后才订阅事件
您可以在初始化完成后在代码中订阅事件,而不是在设计器中订阅事件(我希望您现在这样做)。
private void Form1_Load(object sender, EventArgs e)
{
// Init stuff
cBox.SelectedIndex = 0;
// Event subscription
cBox.SelectedIndexChanged += cBox_SelectedIndexChanged;
}
private void cBox_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show("Your Selected Item is :- " + cBox.SelectedItem.ToString());
}