【发布时间】:2012-10-24 12:25:55
【问题描述】:
是否可以将自定义控件实现与自定义控件设计器实现分开?例如:
MyAsembly.dll
MyAssembly.Design.dll
我的意思是自定义设计器是一个继承自 ControlDesigner 类的类(参见:MSDN ControlDesigner)(不是设计器生成的代码)。
【问题讨论】:
是否可以将自定义控件实现与自定义控件设计器实现分开?例如:
MyAsembly.dll
MyAssembly.Design.dll
我的意思是自定义设计器是一个继承自 ControlDesigner 类的类(参见:MSDN ControlDesigner)(不是设计器生成的代码)。
【问题讨论】:
自定义设计器 (ControlDesigner) 是一个独立于控件本身的类。它通过DesignerAttribute 连接到控件。只需在您的解决方案中创建一个新的类库项目并将设计器放置在那里。在 .NET 中,每个项目都会创建自己的 dll 或 exe 文件。
【讨论】:
DesignerAttribute 中的类型指定设计器。如果您通过名称指定它,则运行程序中将不需要 dll;但是,在设计模式下,控件将像组件一样添加(在较低的频段上),而不是作为控件(已测试)。