因为组长做一个可以折叠的左栏,而且美国折叠显示项要可以设计的,google了半天,没找到控件设计时修改控件的方法,不懂啊,最后只好给每个折叠相添加一个panel控件,先设计好每相要显示的panel然后传给左栏每个项。控件在设计时让设计的panel显示,在运行时自己控制每个panel的显示和隐藏。
设计类:
Button:Button根据不同状态绘制出自身,拥有自己控制显示的Panel的引用。
Buttons:继承自CollectionBase,表示一组Button集合控制增删。
PuckerControl :继承UserControl拥有一系列自定义属性,控制空间的现实和拥有一个Buttons,在根据鼠标触发的事件回调Button自身的重绘方法绘制自己。
如图所示。上传代码,参考的codeproject上面的。