[英]UserControl throwing exception “Cross-thread operation not valid”
我有一個usercontrol和兩個我想將class1的結果打印到usercontrol中的類。我正在使用此行從class發送結果
((merge.MyControl)(MyControlInstance)).CLIDisplay = e.WorkItem.CustomerId;
我顯示結果的控件屬性是
public string CLIDisplay
{
get { return lblResultCLI.Text; }
set
{
lblResultCLI.Text = value;
}
}
但是我在c#表單中調用類時遇到了Exception
An exception of type 'System.InvalidOperationException' occurred in System.Windows.Forms.dll but was not handled in user code
Additional information: Cross-thread operation not valid: Control 'tbxEvents' accessed from a thread other than the thread it was created on.
您將必須使用invoke
this.Invoke((MethodInvoker) delegate
{
lblResultCLI.Text = value;
});
下次請確保您使用Google ...
發生此錯誤的原因是lblResultCLI是在運行代碼的線程上創建的,而不是在另一個線程上創建的,這就是為什么必須使用Invoke,以便訪問lblResultCLI控件的代碼在創建該線程的同一線程上執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.