我需要创建一个线程来刷新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
任何人都可以向我展示一个简单的代码示例,说明如何使用控制线程每隔几毫秒根据一个方法更改文本的值?
只需简单地改为:
test.Invoke(new Action(() => refreshOverview()));
它会起作用
您可以使用Invoke和delegate来解决此问题。
test.Invoke((MethodInvoker)delegate
{
test.Text = DateTime.Now.ToString("mm:ss");
});