自己一直想有一個完全屬於自己的編程小框架,之前使用的方式是將每一個窗體文件都編譯為一個DLL文件,在新建窗體的時候首先新建一個類,然後在這個類
裡面新建窗體,編譯之後就是一個DLL文件,最後通過一個函數去讀取這個DLL文件裡面的信息,包括窗體名稱,版本等,最後將設個窗體Show出來,Show出來的時候是使用的WeifenLuo.WinFormsUI.Docking。看上去貌似沒什麼問題,但是每次New一個窗體的時候就要New一個對應的類,那麼有幾百個窗體呢?那項目將會大的驚人,所以放棄了這種做法,經過一段時間的構思,大致的框架結構出來了,我比較了一下,功能完全相同的兩個項目,用之前的方法和我現在的方法相比較,前者的大小是後者大小的6倍。
首先我需要使用DockContent來實現窗體的停靠,其次我需要使用XtraForm的樣式風格(IrisSkin2.dll真的是不好用,樣式單調不說,應用了樣式之後連控件的屬性都設置不了了),大家都知道是不能多繼承的,所以自己寫一個類FrmBase,直接上圖,