c#设计器中的扩展控件
本文关键字:扩展 控件 | 更新日期: 2023-09-27 18:06:09
我扩展了一个控件,像这样
public partial class NewControl : OriginalControl
{
public NewControl()
{
}
}
并将MyForm.Designer.cs中的这些行从
private OriginalControl control1;
this.control1 = new OriginalControl();
private NewControl control1;
this.control1 = new NewControl();
当我在设计器中打开表单时,我得到了这个错误:
加载设计器失败。检查源代码中的语法错误和检查是否所有引用都可用。
ICSharpCode.FormsDesigner.FormsDesignerLoadException:System.ComponentModel.Design.Serialization.CodeDomSerializerException:找不到类型"新控件"。请确保大会包含此类型的。如果这种类型是你的一部分开发项目,确保项目已经成功使用当前平台或任何CPU的设置构建。在System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error (IDesignerSerializationManager管理器,字符串例外文本,字符串帮助链接)System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression (IDesignerSerializationManager管理器,字符串名称,CodeExpression表达式)System.ComponentModel.Design.Serialization.CodeDomSerializer.DeserializeStatementToInstance (IDesignerSerializationManagermanager, CodeStatement语句)System.ComponentModel.Design.Serialization.CodeDomSerializer.Deserialize (IDesignerSerializationManager管理器,对象代码对象)ICSharpCode.FormsDesigner.Services.ProjectResourcesComponentCodeDomSerializer.Deserialize (IDesignerSerializationManager管理器,对象代码对象)System.Windows.Forms.Design.ControlCodeDomSerializer.Deserialize (IDesignerSerializationManager管理器,对象代码对象)ICSharpCode.FormsDesigner.Services.ProjectResourcesComponentCodeDomSerializer.Deserialize (IDesignerSerializationManager管理器,对象代码对象)System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.DeserializeName (IDesignerSerializationManager管理器,字符串名称,CodeStatementCollection语句)
System.ComponentModel.Design.Serialization.CodeDomSerializerException:变量'control1'要么未声明,要么从未声明过分配。在System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error (IDesignerSerializationManager管理器,字符串例外文本,字符串帮助链接)System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression (IDesignerSerializationManager管理器,字符串名称,CodeExpression表达式)System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression (IDesignerSerializationManager管理器,字符串名称,CodeExpression表达式)System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement (IDesignerSerializationManager管理器,CodeStatement语句)
在ICSharpCode.FormsDesigner.FormsDesignerViewContent.LoadDesigner ()
在ICSharpCode.FormsDesigner.FormsDesignerViewContent.LoadAndDisplayDesigner ()在ICSharpCode.FormsDesigner.FormsDesignerViewContent.LoadInternal (OpenedFile文件,流,流)ICSharpCode.SharpDevelop.Gui.AbstractViewContentHandlingLoadErrors.Load (OpenedFile文件,流)
我如何扩展我的控制错误?
这可能纯粹是这两个控件所在的名称空间的问题。查看是否恰好有一个完全限定的类名可以解决您的问题。