Winforms中的设计时扩展属性
问题描述:
我已经为我们正在构建的触摸感知应用程序构建了几个键盘。由于我们使用了知道应用程序何时处于触摸屏模式的控制器,我认为如果在设计模式下,我们可以将控件与键盘类型相关联,并让控制器在键盘调用之后进行查看,那将会很不错。Winforms中的设计时扩展属性
我不想做的事情之一是将每种类型的控件分类,只是为了添加此属性,因为我觉得这是一个非常重要的小增益。我曾想过使用标签属性,但由于使用原因,它在所有控件中都不可用。
我想知道是否有一种方法将属性添加到控件的设计时间为了添加此元数据。所以回顾一下,我希望能够给每个控件一个值,控制器可以读取这个值来决定显示哪个键盘。
答
是的,设计师支持这一点。现有组件的好例子是ErrorProvider和HelpProvider。请注意他们如何为现有控件类型添加属性。
您需要实现自己的组件,它需要实现IExtenderProvider接口。它的MSDN Library article有一个很好的例子,应该可以帮助你正确地做到这一点。
感谢您的链接和解释! – deanvmc 2012-01-16 15:39:44