ComboBox_SelectedIndexChanged完成后引发的事件

本文关键字:事件 SelectedIndexChanged ComboBox | 更新日期: 2023-09-27 18:29:03

我有一个注册到ComboBox_SelectedIndexChanged事件的comboBox。当那个事件完成后,我想做另一个改变。

我试图注册到Combo_SelectionChangeCommitted事件,但该事件发生在ComboBox_SelectedIndexChanged 之前

有人知道ComboBox_SelectedIndexChanged完成后会发生什么事件吗?

    private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
    {
      int selectedIndex = ((ComboBox)sender).SelectedIndex;
      Update(selectedIndex);
      ActiveNextRow(); // I want that method will occurred after the selectedIndexChanged event end.
    }

感谢

ComboBox_SelectedIndexChanged完成后引发的事件

这个问题可以概括为事件的顺序:链接

例如,您可以执行以下操作:

    private void Form1_Load(object sender, EventArgs e)
    {
        comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
        comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged3;
        comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged2;
    }
    private void comboBox1_SelectedIndexChanged3(object sender, EventArgs e)
    {
        // Your code here
    }
    private void comboBox1_SelectedIndexChanged2(object sender, EventArgs e)
    {
        // Your code here
    }
    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        // Your code here
    }

执行顺序将完全符合Form1_Load方法中的规定。实现所需功能的另一种方法是将对方法的调用放在comboBox1_SelectedIndexChanged方法的末尾(在同一线程中)。

如果Update方法在单独的线程上运行某个进程,则comboBox1_SelectedIndexChanged方法将在Update运行的进程完成之前完成。