您的位置:首页 > 编程语言 > C#

Control中的beginInvoke于Delegate中的beginInove一起使用

2016-11-23 17:16 459 查看
Control中的beginInvoke于Delegate中的beginInove一起使用。使用delegate中的beginInvoke来产生一个新线程。在新线程调用的方法中使用Control中的beginInvoke来进行UI操作。

private void mouseDown(Object sender, MouseEventArgs e)
       {
         
          TestDelegate s = new TestDelegate(showXY);
           s.BeginInvoke(e.X, e.Y, null, null); //产生新线程。        
       }

       private void showXY(int x, int y)
       {
           Thread.Sleep(5000);
           UIDelegate UIDelegate = delegate (string  istrue) { this.Text = ("X: " + istrue + " Y: " + y); };
           this.Invoke(UIDelegate,"Hello");   //使用Invoke操作UI,调用带参数的委托。        
       }

   public delegate void TestDelegate(int x, int y);
   public delegate void UIDelegate(string istrue);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# delegate
相关文章推荐