有时除了组合框'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());
    }

有时除了组合框's SelectedIndexChanged

您可以选择两种方法中的任何一种。

  1. 有一个bool标志,当你想要忽略正在运行的事件处理程序时,将为这些条件设置该标志。并在SelectedIndexChanged方法
  2. 中使用该标志
  3. 只有在设置了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());
}
相关文章:
  • 没有找到相关文章