在主程序启动后,开始接收消息,如下: mq.ReceiveCompleted += new ReceiveCompletedEventHandler(mq_ReceiveCompleted);
//start receive message by asynchronism.
mq.BeginReceive();
当接收到CLOSE消息后,做一些操作, 如下:
private void mq_ReceiveCompleted( object sender, ReceiveCompletedEventArgs e )
{
MessageQueue msgQ = (MessageQueue)sender;
System.Messaging.Message msg = msgQ.EndReceive(e.AsyncResult);
if (msg.Body.ToString().Equals("close"))
{
//这里出了错,说我的ContextMenuStrip作成之前,不能INVOKE
this.ContextMenuStrip.Invoke((close_Click)this.closeObject_Click);
}else{
mq.BeginReceive();
}
}
这是怎么回事啊,是不是线程出了什么问题,大家帮帮忙!!
//start receive message by asynchronism.
mq.BeginReceive();
当接收到CLOSE消息后,做一些操作, 如下:
private void mq_ReceiveCompleted( object sender, ReceiveCompletedEventArgs e )
{
MessageQueue msgQ = (MessageQueue)sender;
System.Messaging.Message msg = msgQ.EndReceive(e.AsyncResult);
if (msg.Body.ToString().Equals("close"))
{
//这里出了错,说我的ContextMenuStrip作成之前,不能INVOKE
this.ContextMenuStrip.Invoke((close_Click)this.closeObject_Click);
}else{
mq.BeginReceive();
}
}
这是怎么回事啊,是不是线程出了什么问题,大家帮帮忙!!
现在在ContextMenuStrip中点击关闭不出问题
就是在接收到消息后,Invoke时出问题
是不是没在一个线程搞的