ComboBox_SelectedIndexChanged完成后引发了哪个事件

时间:2016-01-04 13:19:17

标签: c# combobox

我有一个注册到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.
    }

由于

1 个答案:

答案 0 :(得分:0)

此问题可以推广到事件的顺序:link

作为示例,您可以执行以下操作:

    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运行的进程完成之前完成。