簡單地說,我想在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 關注
- 191 瀏覽
添加回答
舉報
0/150
提交
取消