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