c# 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。
Form_main frm = new Form_main();
frm.Invoke(new MethodInvoker(delegate()
{
//do something...
frm.imageList1.Images.Add("text", ico);
ListViewItem item = new ListViewItem ("111", "text");
frm.listView1.Items.Add(item);
}));
这是在另一个类中的一个非主线程调用form_main窗口控件的代码,提示出错!
在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。
请问应该怎么改
------解决方案--------------------在主线程里定义个个委托。
在你的类里定义个委托变量,在主线程里为你这个类的委托变量赋值。
然后在你的类里调用这个委托就可以了。