八、 提供可交互的属性视图
当你在visual c# .net中创建一个项目的时候,你可能会注意到属性窗口的工具栏上有一个像闪电的按钮,按下这个按钮属性窗口就会切换到事件视图,这样就可以来编辑事件处理了。
属性窗口的视图来自“属性页(property tabs)”,因此视图使用的最主要的类是propertytab,命名空间是system.windows.forms.design。一个属性页可以和一个特别的组件、设计文档关联起来,或者是可以使用的静态关联。和组件或文档关联起来的属性页在类上用propertytabattribute特性来指定。这个特性指定要创建的tab的类型,它在属性窗口上是否显示由propertytabattribute的propertytabscope参数来指定。指定为component范围的属性页的可见性由有propertytabattribute特性的组件的可见性来决定。document范围的属性页则可以在当前项目的设计中都可见。他的默认值是propertytabscope.component。
举一个例子来说,看看“funkybutton”项目。funkybutton是一个扩展了propertytab的usercontrol,而且可以让我们把控件定为不规则的多边形。