2011-12-03 67 views
2

我使用的WinForms設計的應用程序。它有很多控件(按鈕,菜單等),它們都有基本的事件處理程序。我發現我的班級變得相當龐大而且很難讓一個人進行導航。這是由於每個控件都需要一個或多個方法來處理窗口上下文中的事件。拆分大的WinForm類

有哪些技術來組織這些方法或分裂這樣一個大課堂?

+0

已經使用#region?在一個班級中擁有所有非設計師代碼是很好的,沒有意外的餘地。 – sq33G

回答

4

如果只是導航,您可以在幾個文件中使用split your class,只需在每個文件的類聲明前添加partial即可。

一般來說,如果你有一個綁定到這些控件的一些非常複雜的控制或事件處理程序也可以是合理的分隔那些你自己的自定義用戶控件,只是將它們添加到您的形式。只需在項目中添加一個新的用戶控制元素並按照您的需要進行定製。

所有控件可立即在同一項目中任何其他.NET控件,但你可能還需要將它們放在一個單獨的DLL文件(如果你想你的代碼更加分離)。

這裏是a nice tutorial如何設計的WinForms自己的控件。

+0

立即關注部分關鍵字。我希望找到其他技術來將我的代碼壓縮或分組到各個區域。我的控件通常很簡單,只是它們有很多,每個控件都有一個事件處理程序。 – MarkP

+0

如果你可以捆綁你的邏輯轉化爲有意義的命令就可以實現類似命令設計模式(類似於它是如何在WPF做 - 尋找ICommand接口),只是調用那些必要的條件和參數,從您的代碼隱藏形式。 –