简单地说,我想在ComboBox选择它后立即使用它的值来更改表单中的其他一些值。问题是,当我使用此方法终止后comboBox1_SelectedIndexChanged() ,框的值会更新。所以如果我把我的方法放在那里,它会得到“”作为参数。changeSomeOtherStuff(comboBox1.SelectedItem)一种解决方法是插入另一个启动该方法的按钮。但是必须有一种有效的方法来立即调用具有选定值的函数,对吗?
2 回答
心有法竹
TA贡献1866条经验 获得超5个赞
通过启动一个新线程并让它休眠 10 毫秒来解决它,以便另一个线程完成运行该方法并更新框:
private void comboBox1_DropdownClosed(object sender, EventArgs e)
{
Thread t = new Thread(updateBox);
t.Start();
}
private void updateBox()
{
Task.Delay(10);
Invoke(new Action(() =>
{
textBox1.Text = Defaults.Defaults.DefaultOutputContainer(comboBox1.Text);
}));
}
Invoke 部分是为了能够访问comboBox1,即使它属于主线程。
- 2 回答
- 0 关注
- 168 浏览
添加回答
举报
0/150
提交
取消