如果已經覆蓋某處,我表示歉意。我進行了搜索並找到了一些我已經實施的內容。
我正在開發從經由連接的serialport一個設備接收數據的應用程序。我正在使用SerialPort datareceived事件來捕獲數據。我將在主窗體的文本框中顯示數據。數據被頻繁接收。我用定時器發送命令給設備,在響應設備中發送一些數據。定時器間隔爲100毫秒。在每隔100毫秒的時間間隔內發送一些命令並相應地接收數據。我使用Invoke函數來更新像TExtbox,標籤等GUI元素。一切都很好。所有元素都更新得很漂亮。但在接收數據時,如果我在主表單中進行任何類似移動窗體的更改,最小化,最大化或單擊表單中的某處,則會停止數據接收。我無法找到它發生的原因?我也改變了定時器的時間間隔爲200,300,400,500,但同樣的問題在那裏。
請告訴我爲什麼會發生?和可能的解決方案......
在此先感謝.... :)
爲什麼不是,但serialport datareceived事件也在輔助線程中運行。 – Rahul 2011-01-12 09:53:32
你需要創建異步線程post backs等到用戶界面。 http://dotnetperls.com/backgroundworker – abmv 2011-01-12 10:06:13
這是唯一的出路! – abmv 2011-01-12 10:06:56