【发布时间】:2019-11-02 00:13:28
【问题描述】:
我正在尝试从另一个线程设置组合框的选定项,但软件抛出异常并显示消息“跨线程操作无效。控制 xxx 从创建它的线程以外的线程访问”
如果 InvokeRequired 在 ComboBox 上为真,我已经尝试使用 MethodInvoker,但我仍然收到异常。
public class ComboBoxAdapter
{
System.Windows.Forms.ComboBox comboBox;
//...
public void setSelectedItem( object item ) {
if ( comboBox.InvokeRequired )
comboBox.Invoke( new MethodInvoker( () => setSelectedItem( item ) ) );
comboBox.SelectedItem = item;
}
}
如果我像在我的代码中那样访问 ComboBox,我预计不会出现异常。
【问题讨论】:
标签: c# multithreading combobox invoke