如何在C#Windows应用程序示例中使用控制线程

时间:2018-09-10 03:20:27

标签: c# winforms

我需要创建一个线程,以每隔几毫秒输入一次信号来刷新text box的文本值。

我尝试了以下代码:

public void refreshOverview(){

   //my cases for the different signal to change the value of the text here
   //code here
    case 1:
    test.text=something
    case 2:
    test.text=something2

}

test.Invoke(() => refreshOverview());

我收到此错误:

  

无法将lambda表达式转换为委托

任何人都可以向我展示一个简单的代码示例,说明如何使用控制线程每隔几毫秒基于一种方法更改文本的值吗?

2 个答案:

答案 0 :(得分:0)

只需更改为:

test.Invoke(new Action(() => refreshOverview()));

它将起作用

答案 1 :(得分:0)

您可以使用Invoke和委托来解决此问题。

            test.Invoke((MethodInvoker)delegate
            {
                test.Text = DateTime.Now.ToString("mm:ss");
            });