C# 如何从线程中操作控件

翻译|其它|编辑:郝浩|2008-05-09 13:51:00.000|阅读 1170 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

下面是一个监控UDP接收的线例子:


1    //申明委托
2   public delegate void mydelegate();
3  //添加调用控制的方法
4   public void outtext()
5  {
6     textBox1.Text = Read_str;
7
8    }
9   public void start_server()
10    {
11    while (true)
12    {
13    //接收从远程主机发送到本地8090端口的数据
14     byte[] recData = server.Receive(ref receivePoint);
15     ASCIIEncoding encode = new ASCIIEncoding();
16    //获得客户端请求数据
17    Read_str = encode.GetString(recData);
18     //提取客户端的信息,存放到定义为temp的字符串数组中
19      //string[] temp = Read_str.Split("/".ToCharArray());
20    //在线程中调用对象;
21    mydelegate mydelegate = new mydelegate( outtext );
22     //BeginInvoke/invoke(同步或异步) 方法来将调用封送到适当的线程
23      textBox1.BeginInvoke(mydelegate, new object[] { });
24
25   }
26   }
27  public void run()
28   {
29    //利用本地8080端口号来初始化一个UDP网络服务
30    server = new UdpClient(port);
31     receivePoint = new IPEndPoint(new IPAddress(ip), port);
32    //开一个线程
33   startServer = new Thread(new ThreadStart(start_server));
34    //启动线程
35    startServer.Start();
36
37  }
38    private void Form1_Load(object sender, EventArgs e)
39   {
40     //启动对时服务
41    run();
42
43   }
标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:nick4的专栏

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP