2013-05-03 46 views
0

我正在爲我們的內部員工編寫一個小型文本編輯器,用於修改一大堆公司特定的文件。我想以這樣的方式設計這個方法,我們儘量減少泄漏處理程序,並希望徵求意見。以好的方式處理/設計C#中的事件使用

根據加載的文件類型完成不同的操作。我有一個單獨的類,我實例化並通過richtextbox的活動選項卡的實例。實現然後訂閱以下內容:

的SelectionChanged 框TextChanged

然後根據文件的類型,他們會處理他們的具體的東西。我注意到,我們的一些內部開發人員不會退訂事件和事情泄漏。該控件掛起(這不是一個MDI應用程序,面板+標籤控件+許多richtextboxes)。

將這些事件的可能性委託給這些實現的好方法是什麼?

我應該編寫一個代理(它們都訂閱),我的Richtextbox基本上會在代碼發生變化時爲我調用它 - 並且在選項卡更改時根據需要訂閱/取消訂閱?有沒有確定的模式 - 也許是四人幫?這可能是我應該使用的?

+0

沒有任何好的方法讓控件超出父級,它會在父級處理時處理掉。如果您看到其他情況,那麼這是一個非常經典的winforms錯誤,客戶端代碼調用Controls.Clear()或Remove()而不處理刪除的控件。 – 2013-05-03 14:07:34

回答

0

是的。只需創建基於類型調用各自的類方法的代理類