2010-01-21 54 views
1

在C#中開始我的第一個嚴肅的GUI應用程序。智能表格更新思路

我有一個類正在處理和做很多事情,我可以從我的GUI控制器類中插入方法,並在適當時獲取事件。

我有幾個listboxes和其他控件我想要更新,只要這些信息更新。不過,我想稍微調整一下。

對於我的GUI窗體上的控件,如果我讓它更新(每次委託觸發),我應該將計時器更新爲每秒一次。而其他人只要讓他們更新控制數據流的類。

這是專業人士會做的嗎?我討厭使用計時器,如果我可以避免的話,但我恐怕會根據具體情況瘋狂地更新表格。

回答

2

我沒有看到使用計時器的任何錯誤。這就是節流,基本上 - 不允許每秒鐘超過x事件。重要的是要讓你的計時器檢查以確保在盲目更新用戶界面之前已經改變了一些東西 - 你不希望它每隔半秒無緣無故地進行屏幕更新。

所以 - 像通常那樣勾住事件,但不是立即更新,而是設置一個標誌。定時器可以在更新UI之前檢查標誌。或者,如果您是優化的堅持者,請讓事件啓動計時器,並讓計時器在更新後立即停止;這樣,除非最近發生過事件,否則您的計時器根本不運行。

對於這是「專業人士」會做什麼的問題,我無法給出明確的答案,因爲這個領域的專業人員似乎在做許多事情上有着截然不同的方式。