[英]Accessing WinForms Control from separate thread and class
我有一個名為“ tables”的類,一個winform為“ Form1”,在窗體上是一個名為“ table3”的按鈕。 “表”類中的代碼在單獨的線程中運行,需要訪問主窗體上的按鈕,這就是我所擁有的:
Form1.ActiveForm.BeginInvoke(
(Action)(() =>
{
Form1.ActiveForm.Controls["table3"].Text = "test";
}));
我收到一個null引用異常。按鈕的名稱正確。 還有其他問題,我不確定這可能是什么:/
嘗試這個:
Invoke(new Action<object>((args) =>
{
Form1.ActiveForm.Controls["table3"].Text = "test";
}));
如果您收到NullReferenceException,則引用為null。 因此,要么Form1.ActiveForm == null
,要么Form1.ActiveForm.Controls == null
,或者Form1.ActiveForm.Controls["table3"] == null
。
我假設Form1
是類的名稱,而ActiveForm
是靜態屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.