5

当我在 C# 中的窗体上拖放一个ToolTip对象时,窗体上的每个控件都会获得一个名为ToolTip以前不存在的新属性。我正在尝试创建类似的东西,ToolTip这样当我将它拖放到我的表单上时,所有控件都会自动获得它的新属性。

如果有人能给我一个定义,我也将不胜感激,以便我可以编辑我的问题以更好地传达我的意图和意义。

4

2 回答 2

6

您正在寻找的是“扩展器提供者”。很简单,您实际上并没有将新属性添加到控件的网格中。相反,您实现了 VS 设计器寻找的接口,它告诉 VS 如何将网格中设置的属性“转换”为对 Extender Provider 的调用以真正做到这一点。

除了 ToolTips 之外,像 TableLayoutPanel 和 FlowLayoutPanel 这样的 LayoutPanel 也做类似的事情,以及某些其他“元窗口组件”。

于 2012-08-27T17:43:05.290 回答
4

ToolTip是一个扩展器提供者。实现它的完整文档在这里,这里有一个完整的例子。

ToolTip 可能会像这样实现:

[ProvideProperty("ToolTip", typeof(IComponent))]
class ToolTip : IExtenderProvider {...}
于 2012-08-27T17:42:48.707 回答