我目前正在尝试制作即时消息传递应用程序。有一个客户端和一个服务器。服务器工作正常,但是由于某种原因,当我调用某个函数来更新UI时,TextBox不会将文本添加到其中。下面是我的代码示例-在我的应用程序中,以不同的形式调用Update UI:public ChatWindow() { InitializeComponent(); Thread timerThread = new Thread(Main.ReceiveLoop); timerThread.Start(); } private void txtChatLog_TextChanged(object sender, EventArgs e) { } private void btnSendMessage_Click(object sender, EventArgs e) { string clientReply = txtReply.Text; string Message = "ClientMsg§" + clientReply; var time = DateTime.Now; txtChatLog.AppendText($"{time} client: {clientReply}"); txtChatLog.AppendText(Environment.NewLine); Main main = new Main(); main.ChatResponse(Message); txtReply.Text = ""; } public void UpdateChatLog(string message) { var time = DateTime.Now; string newMessage = message.Split('$')[1]; string messageToDisplay = $"{time} Server: {newMessage}"; MessageBox.Show(messageToDisplay); txtChatLog.AppendText(messageToDisplay); txtChatLog.AppendText(Environment.NewLine); } private void ChatWindow_Load(object sender, EventArgs e) { }正如我用messagebox.show();检查的那样,客户端挑衅地从服务器接收消息。同样,当按下发送消息按钮时,富文本框也会更新。但是由于某种原因,它不会通过UpdateChatLog方法进行更新。任何帮助将非常感激。
添加回答
举报
0/150
提交
取消