Mar*_*ijn 4 c# design-patterns winforms
当你有一个TableLayoutPanelon Form并且你将Label一个单元拖到一个单元格中时,Label控件上有一些属性可用.我认为Tooltip在窗体上拖动控件时会使用相同的构造.
我想知道使用哪种设计模式来实现这一目标.这是装饰模式吗?
你所看到的是Extender Providers.
例如,将ToolTip组件添加到表单时,它会向该表单上的每个控件提供一个名为ToolTip的属性.然后,ToolTip属性将出现在任何附加的PropertyGrid控件中. http://msdn.microsoft.com/en-us/library/ms171836.aspx
我无法想象一个众所周知的模式,它描述了它们的工作原理,但机制很简单.
你必须实施IExtenderProvider.WinForms Designer将CanExtend在表面上调用彼此的控件,并且扩展器可以指定它是否为每个控件提供其他属性.
public interface IExtenderProvider {
bool CanExtend(object extendee);
}
Run Code Online (Sandbox Code Playgroud)
将使用ProvidePropertyAttribute和方法声明其他控件将扩展的实际属性以提供值.
| 归档时间: |
|
| 查看次数: |
505 次 |
| 最近记录: |