日期:2014-05-18  浏览次数:20725 次

线程外操作控件
Control.CheckForIllegalCrossThreadCalls = false;
窗体有个Button,先隐藏,然后又启动了一个线程,设置Button为显示,但是窗体上依然看不到Button

------解决方案--------------------
CheckForIllegalCrossThreadCalls = false只是关闭了跨线程检测,和能不能成功没关系。
建议还是使用委托
------解决方案--------------------
委托也不难,网上一堆堆的示例,而且比其你这样的直接跨线程操作更加安全
------解决方案--------------------

我好想试一试可以的,先让button隐藏然后线程中让它显示
tr = new Thread(showButton);
tr.Start();
 button1.Invoke(new EventHandler(delegate {
button1.Visible = true;
}));
------解决方案--------------------
探讨
我好想试一试可以的,先让button隐藏然后线程中让它显示
tr = new Thread(showButton);
tr.Start();
button1.Invoke(new EventHandler(delegate {
button1.Visible = true;
}));