簡體   English   中英

從單獨的線程和類訪問WinForms控件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM