我有一個C#winform應用程序,它在屏幕上有4個不同的用戶控件。每個用戶控件都包含一個datagridview控件。當用戶更新這4個控件中任何一個的單元格值時,我會引發一個自定義事件,將單元格的值發送到屏幕上的第5個窗體。將事件數據發送到另一個表單時的響應時間慢
這第五種形式與Excel電子表格非常相似。第五種形式必須顯示在窗格/窗口上發送的新值。問題不在於發送來自4個用戶控件中的任何一個的數據,該數據起作用並反映在第5個表單上。
但是,當提高發送數據的事件時,它會停止用戶輸入幾秒鐘。我認爲第五種形式正在忙於更新單元格。所以我的問題是,如果我實現一個消息隊列或類似的東西(wcf)發送新值到控件的電子表格,第5個控件是否會拾取數據(可能是應用程序空閒事件),並且不會減慢最終用戶輸入4個主要控件中的任何一個,或者我會看到相同的問題,因爲所有表單都在相同的UI線程中運行。我做了一些測試,看看第5個控件是否隱藏起來,看是否更快,但我看到了相同的結果。此外,我做了一些時間檢查,肯定是在我提出Value_Changed事件後,系統變得非常緩慢。
關於如何處理和解決此問題的任何想法?
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –
你的分析器告訴你什麼? –
如果沒有更多關於第五控制器在做什麼的信息,不可能說。它在更新單元之前是否需要做一些處理?如果是這樣,那麼你應該有一個異步任務所做的工作,以及異步任務完成之後再更新細胞。 –