簡體   English   中英

將事件數據發送到其他表單時響應時間慢

[英]Slow Response Time when sending event data to another form

我有一個C#winform應用程序,該應用程序在屏幕上具有4個不同的用戶控件。 這些用戶控件均包含一個datagridview控件。 當用戶在這4個控件中的任何一個中更新單元格值時,我都會引發一個自定義事件,將單元格的值發送到屏幕上的第5個窗體。

第5種形式與Excel電子表格非常相似。 第5個表單必須顯示在其窗格/窗口上發送的新值。 問題不在於從4個用戶控件中的任何一個發送數據,它起作用並且反映在第5個表單上。

但是,當發送數據的事件發生時,它將停止用戶輸入幾秒鍾。 我認為5號表格正在忙於更新單元格。 因此,我的問題是,如果我實現了一個消息隊列或類似的控件(wcf),用於將新值發送到控件等電子表格,則第5個控件會拾取數據(也許在Application Idle事件上),而不會減慢最終用戶的輸入速度嗎?這四個主要控件中的任何一個,或者由於表單都在同一UI線程中運行,我是否會看到相同的問題。 我確實做了一些測試,以查看是否從視圖中隱藏了第5個控件是否更快,但是我看到了相同的結果。 我也做了一些計時檢查,並且肯定是在引發Value_Changed事件之后,系統變得非常緩慢。

關於如何解決這個問題有什么想法嗎?

也許您應該嘗試一個簡單的Control.BeginInvoke()來傳遞具有結構的數據。 這將確保您在對象之間沒有線程問題並且是異步的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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