例如,我的Windows窗體上有兩個Command按鈕和一個文本框。
在單擊該命令按鈕1,文本框的值不斷遞增說從1到1000000代碼運行時Windows窗體無法訪問
雖然出現這種情況,我不能夠在任何地方點擊的形式,包括命令按鈕2.
我可以再次訪問形式,只有當櫃檯1000000
請諮詢站於此。
我也使用modelless形式使用*.Show();
方法嘗試。
這是我的代碼來獲取文本框中的值。
for (int i = 0; i <= 10000; i++)
{
Console.WriteLine(i);
this.textBox1.Text = Convert.ToString(i);
label2.Focus();
this.textBox1.Focus();
}
這是因爲您正在UI上運行所有代碼,然後無法處理顯示更新。 – 2014-09-11 11:38:09
應用程序只有在抽取消息時纔會響應。如果您的應用程序在代碼中間的循環中忙於旋轉,則無法泵送消息,除非您告訴它(但不要!) – 2014-09-11 11:40:59
如果您的代碼在UI線程中運行,那麼它將阻塞,直到您代碼已經完成運行。看一下'Task'類在一個單獨的線程中執行它。 http://msdn.microsoft.com/en-us/library/system.threading.tasks.task(v=vs.110).aspx – 2014-09-11 11:43:00