首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c# 在创建窗口句柄之前,不能在控件下调用 Invoke 或 BeginInvoke

2013-03-01 
c# 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。Form_main frm new Form_main()frm.In

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。
请问应该怎么改
[解决办法]
在主线程里定义个个委托。
在你的类里定义个委托变量,在主线程里为你这个类的委托变量赋值。
然后在你的类里调用这个委托就可以了。

热点排行