在写程序的时候经常要用到线程,而也经常会遇到跨线程调用控件的问题,这种情况需要用到委托。
我对委托用的不太熟,少量的使用还行,控件一多就有点乱了,并且感觉调来调去的也麻烦我发现用 System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
这个比较简单,就不检查跨线程调用的安全性了,但是这样有什么危险吗,弊端什么的。
如果没有的话,那么用这个方法多好啊,何必用委托那么麻烦呢,麻烦大家帮忙给讲讲
我对委托用的不太熟,少量的使用还行,控件一多就有点乱了,并且感觉调来调去的也麻烦我发现用 System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
这个比较简单,就不检查跨线程调用的安全性了,但是这样有什么危险吗,弊端什么的。
如果没有的话,那么用这个方法多好啊,何必用委托那么麻烦呢,麻烦大家帮忙给讲讲
事件响应代码void _transferManager_OnTaskOver(object sender, EventArgs e)
{
this.Invoke((Action)delegate
{
btnOK.Enabled = true;
if (_autoClose) {
Util.Log2Txt.QueueLog("close dialog", Util.LogType.Info);
this.Close();
}
});
}控件操作代码treeView.Invoke((Action)delegate
{
pareNode.Nodes.Add(tree_node);
});
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
look 这个人写的东西
http://www.cnblogs.com/zhaotiantang/archive/2009/03/17/1414135.html