InvokeRequired 属性 与Invoke方法。 收藏zt: http://www./jinhong618/?tid=22389
这时就用到了Control.InvokeRequired 属性 与Invoke方法。 MSDN中说: 下面来说下这个的用法(我的一般做法):
private
delegate
void
InvokeCallback(
string
msg);
然后就是判断这个属性的值来决定是否要调用Invoke函数:
void
m_comm_MessageEvent(
string
msg)
{ if (txtMessage.InvokeRequired) { InvokeCallbackmsgCallback = new InvokeCallback(m_comm_MessageEvent); txtMessage.Invoke(msgCallback, new object [] { msg } ); } else { txtMessage.Text = msg; } } 说明:这个函数就是事件处理函数,txtMessage是一个文本框。 ------------------ InvokeRequired 当前线程不是创建控件的线程时为true -------------------- 我理解:如果InvokeRequired==true表示其它线程需要访问控件,那么调用invoke来转给控件owner处理 |
|