C# 静态方法中的跨线程操作无效
我的WinForms C#应用程序中有以下代码:- 这将抛出一个带有消息和详细信息的C# 静态方法中的跨线程操作无效,c#,multithreading,winforms,invalidoperationexception,C#,Multithreading,Winforms,Invalidoperationexception,我的WinForms C#应用程序中有以下代码:- 这将抛出一个带有消息和详细信息的InvalidOperationException 跨线程操作无效:从创建控件“timeBox”的线程以外的线程访问控件“timeBox” 我该如何做呢?试试这个: private static void displayTime(object source, ElapsedEventArgs e) { timeTxtBox.Invoke(new Action(() => { ti
InvalidOperationException
跨线程操作无效:从创建控件“timeBox”的线程以外的线程访问控件“timeBox”
我该如何做呢?试试这个:
private static void displayTime(object source, ElapsedEventArgs e)
{
timeTxtBox.Invoke(new Action(() =>
{
timer++;
timeTxtBox.Text = parseTime(timer);
}));
}
提示:这不是因为该方法是静态的。这是因为您正在另一个线程上调用此方法。您需要调用仅存在于另一个线程中的控件上的更改。
private static void displayTime(object source, ElapsedEventArgs e)
{
timeTxtBox.Invoke(new Action(() =>
{
timer++;
timeTxtBox.Text = parseTime(timer);
}));
}