如何更改 VS Designer 中已创建的控件以从另一个控件继承 class
How to change already made control in VS Designer to inherit from another class
所以情况是这样的,
我有一个使用 VS IDE(VS2013 标准)创建的工具条。我已经为它做了很多工作,例如添加按钮、挂钩事件等。
我现在可以更改此控件以从自定义工具条继承 class 而无需创建自定义控件并重新执行所有工作吗?
我曾尝试将 Designer.cs 更改为使用父级 class,但是当我返回到 Form Designer 时,更改被逆转了。
编辑:
为了让事情更清楚一点,如果你熟悉 xCode 我正在尝试做相当于设置 IDE 对象的 CustomClass。
你想要的是视觉继承,你可以在这里找到详细的描述:
https://msdn.microsoft.com/en-us/library/bx1155fz%28v=vs.110%29.aspx
如果您想更改 myForm.Designer.cs 那么
- 关闭设计器!
- 更改 *.Designer.cs 中控件字段的类型
private ParentToolStrip myToolStrip;
- 更改
new
命令中的类型 myToolStrip = new ParentToolStrip();
- 构建项目。
- 只有构建成功 (!):在设计器中打开表单。
我已经做过很多次了。有效。
确保检查任何可能干扰设计器的代码:
if (!DesignMode) {
// Your code.
}
请注意,这在构造函数中不起作用,因为当时 DesignMode
属性 尚未初始化。在构造函数中,您可以像这样测试设计模式:
bool designMode = LicenseManager.UsageMode == LicenseUsageMode.Designtime;
所以情况是这样的,
我有一个使用 VS IDE(VS2013 标准)创建的工具条。我已经为它做了很多工作,例如添加按钮、挂钩事件等。
我现在可以更改此控件以从自定义工具条继承 class 而无需创建自定义控件并重新执行所有工作吗?
我曾尝试将 Designer.cs 更改为使用父级 class,但是当我返回到 Form Designer 时,更改被逆转了。
编辑:
为了让事情更清楚一点,如果你熟悉 xCode 我正在尝试做相当于设置 IDE 对象的 CustomClass。
你想要的是视觉继承,你可以在这里找到详细的描述:
https://msdn.microsoft.com/en-us/library/bx1155fz%28v=vs.110%29.aspx
如果您想更改 myForm.Designer.cs 那么
- 关闭设计器!
- 更改 *.Designer.cs 中控件字段的类型
private ParentToolStrip myToolStrip;
- 更改
new
命令中的类型myToolStrip = new ParentToolStrip();
- 构建项目。
- 只有构建成功 (!):在设计器中打开表单。
我已经做过很多次了。有效。
确保检查任何可能干扰设计器的代码:
if (!DesignMode) {
// Your code.
}
请注意,这在构造函数中不起作用,因为当时 DesignMode
属性 尚未初始化。在构造函数中,您可以像这样测试设计模式:
bool designMode = LicenseManager.UsageMode == LicenseUsageMode.Designtime;