【发布时间】:2016-10-17 16:16:24
【问题描述】:
目前,我正在开发客户端聊天服务器应用程序,当收到来自任何朋友的消息时,它必须显示在文本框中。 当在代码执行下方收到消息时,该消息尚未显示在前端(文本框)上。
public void OnMessageReceieve(string message)
{
//object of textbox
txtMessage.Text += "Incoming messages";
txtMessage.Text = txtMessage.Text + message;
}
上面的代码在提到的事件上执行
_xmppClientConnection.OnMessage+= new agsXMPP.protocol.client.MessageHandler(XmppCon_OnMessage);
public void XmppCon_OnMessage(object sender, agsXMPP.protocol.client.Message messsage)
{
_xmppClientMessage= messsage;
_iOnMessageReceiveListener.OnMessageReceieve(_xmppClientMessage.Body);
}
【问题讨论】:
-
你怎么能做到这一点? fromm 在哪里调用了 On messageReceive 函数?
-
我相信文本框没有更新,因为您试图访问 UI 线程之外的控件(文本框)。要解决此问题,请使用:this.Invoke((MethodInvoker)delegate { txtMessage.Text += "Incoming messages"; txtMessage.Text = txtMessage.Text + message; });
-
我正在使用网络表单我该如何实现这一目标