我有一个注册到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.
}
由于
答案 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
运行的进程完成之前完成。