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.
}
感谢
这个问题可以概括为事件的顺序:链接
例如,您可以执行以下操作:
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
运行的进程完成之前完成。