我試圖檢索我的文本框字段在線程類中的值,但該值始終爲空。我試圖檢查調試器上的斷點,但它只是顯示「功能評估需要所有線程運行」。C#無法檢索多線程文本框字段值
我在MSDN上發現了this explanation,但在檢索線程類上的文本框值時仍然沒有運氣。
這裏是我的窗口加載到啓動線程功能:
//Read D6010 Status To Get Weight Value on D6020
ThreadStart readWeightRef = new ThreadStart(readWeightStatusThread);
Thread readWeightThread = new Thread(readWeightRef);
readWeightThread.Start();
這是我的線程類代碼:
public void readWeightStatusThread()
{
string readStatus = (string)txtD6010Status.Invoke(new Func<string>(()=> txtD6010Status.Text));`
while (Thread.CurrentThread.IsAlive)
{
MessageBox.Show(readStatus);
}
}
任何方式來解決這個問題?
你在加載事件中啓動線程?是已經在構造函數中設置的文本框文本? –
在調用「Load」之前,該字段是否已被填充?另外,將字符串賦值移到循環中(我假設這只是爲了測試目的。) –