因为做旅行社的业务有好五年之久,对旅行社的业务也非常了解,想着做一款旅行社ERP产品,上个月在选择UI的时候,偶然发现了套件componentfactory(之前是dotnetmagic,做导航的时候经常用到),里面的控件几乎囊括微软.net的winform所有的控件。于是打算产品里就使用该套件作为整个产品的皮肤选择,但发现,二维表头,在使用之间别人写的RowMergeView来继承 KryptonDataGridView的时候,在重画表头的时候,重画的部分无法跟随着整体的皮肤变换。这样的话,所有用到二维表头的功能的界面就大打折扣。于是乎不得不研究一番。
利用万能的Reflector发现, KryptonDataGridView 在重绘的时候,利用了套件里的画板,因为 KryptonDataGridView里的属性设置了很多限制,无法访部这个类里的属性。于是乎,利用反编译,在项目里重新实现了这个KryptonDataGridView 类,把一个属性的可访性放开,再做一个继承类。经过两天的调试。今天终于实现了 。
效果图如下:
代码实现:
改天再做一个Demo上传。