2016-01-04 24 views
0

我有一个组合框,它注册到ComboBox_SelectedIndexChanged事件。 当这个事件完成后,我想做另一个改变。在ComboBox_SelectedIndexChanged完成后引发哪个事件

我试图注册Combo_SelectionChangeCommitted事件,但在此之前,事件occures的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. 
    } 

感谢

+0

您还需要做哪些其他更改?它不能作为SelectedIndexChanged事件的一部分来完成吗? – sr28

+0

我需要激活另一个控件,我已经尝试去做,结果是不显示组合框选择。 – Yoav

+0

你可以展示你想要做的一些代码吗? – sr28

回答

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完成之前完成。

相关问题