如何在c#windows应用程序示例中使用控制线程

问题描述 投票:-1回答:2

我需要创建一个线程来刷新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表达式转换为Delegate

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

c# winforms
2个回答
0
投票

只需简单地改为:

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

它会起作用


0
投票

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

            test.Invoke((MethodInvoker)delegate
            {
                test.Text = DateTime.Now.ToString("mm:ss");
            });
© www.soinside.com 2019 - 2024. All rights reserved.