雪糕老师 2015-11-23 11:43 采纳率: 0%
浏览 1720

C#中线程里调用winform上的控件,问题。求助。

废话不多说,我直接贴代码了。程序很简单。我摘抄的网上的。
图片说明
上图是个界面。

然后程序里先是一个类。如下:
class ClientThread
{
Encoding encoding = Encoding.GetEncoding("GB2312");
private Socket client;
public string data = null;
private byte[] receiveBytes = new byte[1024];
private int recCount;

        public ClientThread(Socket ClientSocket)
        {
            this.client = ClientSocket;
        }

        public void ClientServer()
        {
            string ip;

            try
            {
                while (true)
                {
                    recCount = client.Receive(receiveBytes, receiveBytes.Length, 0);
                    ip = client.RemoteEndPoint.ToString();
                    byte[] clientIP = Encoding.Default.GetBytes(ip);


                        if (recCount != 0)
                        {
                            data = encoding.GetString(receiveBytes, 0, recCount);
                            client.Send(encoding.GetBytes("OK"), 2, 0);
                        }
                        else
                        {
                            break;
                        }


                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("出现异常:" + ex.ToString());
            }
        }

}

接下来就是开个线程了。
 private void button1_Click(object sender, EventArgs e)

{
newsocket.Bind(ipep);
newsocket.Listen(10);

     while (true)
    {
       Socket client = newsocket.Accept();
       newclient = new ClientThread(client);
       Thread newthread = new Thread(new ThreadStart(newclient.ClientServer));
        newthread.Start();
      }

}

现在我想 在界面里的textbox1.text 中显示线程中接收的数据。但是我现在调了好久没弄出来,我不知道哪里有问题。我是个新手,希望大神指点一二,谢谢了。
  • 写回答

1条回答 默认 最新

  • threenewbee 2015-11-23 16:10
    关注

    data = encoding.GetString(receiveBytes, 0, recCount);
    this.Invoke(new Action(() => { textBox1.Text = data; }));

    评论

报告相同问题?

悬赏问题

  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝