我剛剛接觸Windows編程,就像我以前的工作一樣,我主要參與了Web技術,並且主要在後端。我繼承了一個Winforms應用程序,並且我最大的噩夢之一是瀏覽表單可以處於的無限狀態。管理表單狀態的更好方法是什麼?
爲了舉一個例子,表單具有狀態「新建」和「編輯」,具體取決於是否用戶決定添加或編輯記錄。在這種形式上,我們有邏輯。如果這個texbox有一個特定的值,那麼這些其他文本框就被禁用了,等等。這導致了這些規則的無限鏈接。所以,文本框的TextChanged事件會影響另一個字段。它反過來會觸發改變其他控件狀態的X事件。它很快就會陷入一個無法維持的糾結混亂。
必須有更好的方法...解決這個問題的簡單而優雅的東西。有什麼建議麼?
這可能被認爲更「鬆散耦合」,但有可能將CPU固定在100%。 – Reinderien 2011-02-15 14:53:56
@Reinderien如果你不在內部執行代價昂貴的循環,你的CPU不會填充任何代價高昂的負載,只是因爲這個事件是由Windows的舊消息循環引發的。 – 2011-02-15 14:58:20
我不知道我明白這一點。每當整個應用程序閒置時,Application.Idle事件都不會啓動?如果應用程序中有很多表單會怎麼樣?我需要弄清楚當前顯示哪些窗口,然後執行必要的邏輯? – tardomatic 2011-02-16 06:13:37