[英]c# extended control in designer
I extended a control like so 我像这样扩展了控件
public partial class NewControl : OriginalControl
{
public NewControl()
{
}
}
and changed these lines in the MyForm.Designer.cs from 并从以下位置更改了MyForm.Designer.cs中的这些行
private OriginalControl control1;
this.control1 = new OriginalControl();
to 至
private NewControl control1;
this.control1 = new NewControl();
How ever when I open my form in designer I get this error: 但是,当我在设计器中打开表单时,却遇到此错误:
Failed to load designer.
无法加载设计器。 Check the source code for syntax errors and check if all references are available.
检查源代码中的语法错误,并检查是否所有引用均可用。
ICSharpCode.FormsDesigner.FormsDesignerLoadException: System.ComponentModel.Design.Serialization.CodeDomSerializerException: Could not find type 'NewControl'.
ICSharpCode.FormsDesigner.FormsDesignerLoadException:System.ComponentModel.Design.Serialization.CodeDomSerializerException:找不到类型'NewControl'。 Please make sure that the assembly that contains this type is referenced.
请确保引用了包含此类型的程序集。 If this type is a part of your development project, make sure that the project has been successfully built using settings for your current platform or Any CPU.
如果此类型是开发项目的一部分,请确保已使用当前平台或任何CPU的设置成功构建了该项目。 at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager manager, String exceptionText, String helpLink) at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression) at System.ComponentModel.Design.Serialization.CodeDomSerializer.DeserializeStatementToInstance(IDesignerSerializationManager manager, CodeStatement statement) at System.ComponentModel.Design.Serialization.CodeDomSerializer.Deserialize(IDesignerSerializationManager manager, Object codeObject) at ICSharpCode.FormsDesigner.Services.ProjectResourcesComponentCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, Object codeObject) at System.Windows.Forms.Design.ControlCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, Object codeObject) at ICSharpCode.FormsDesigner.Services.ProjectResourcesComponentCodeDomSerializer.Deserialize(IDesignerSeriali
在System.ComponentModel.Design.S。 System.ComponentModel.Design.Serialization.CodeDomSerializer.Deserialize(IDesignerSerializationManager管理器,Object codeObject)处的ICSharpCode.FormsDesigner.Services.ProjectResourcesComponentManager System.Windows.Forms.Design.ControlCodeDomSerializer.Deserialize(IDesignerSerializationManager管理器,Object codeObject)位于ICSharpCode.FormsDesigner.Services.ProjectResourcesComponentCodeDomSerializer.Deserialize(IDesignerSeriali zationManager manager, Object codeObject) at System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.DeserializeName(IDesignerSerializationManager manager, String name, CodeStatementCollection statements)
zationManager管理器,位于System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.DeserializeName(IDesignerSerializationManager管理器,字符串名称,CodeStatementCollection语句)处的Object codeObject)
System.ComponentModel.Design.Serialization.CodeDomSerializerException: The variable 'control1' is either undeclared or was never assigned.
System.ComponentModel.Design.Serialization.CodeDomSerializerException:变量'control1'未声明或从未分配。 at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager manager, String exceptionText, String helpLink) at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression) at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression) at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)
在System.ComponentModel.Design.S。 System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager管理器,CodeStatement语句)上的.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager管理器,字符串名称,CodeExpression表达式)
at ICSharpCode.FormsDesigner.FormsDesignerViewContent.LoadDesigner()
在ICSharpCode.FormsDesigner.FormsDesignerViewContent.LoadDesigner()
at ICSharpCode.FormsDesigner.FormsDesignerViewContent.LoadAndDisplayDesigner() at ICSharpCode.FormsDesigner.FormsDesignerViewContent.LoadInternal(OpenedFile file, Stream stream) at ICSharpCode.SharpDevelop.Gui.AbstractViewContentHandlingLoadErrors.Load(OpenedFile file, Stream stream)ICSharpCode.SharpDevelop.Gui.AbstractViewContentHandlingLoadErrors.Load(OpenedFile文件,流流)的ICSharpCode.FormsDesigner.FormsDesigner.FormsDesignerViewContent.LoadInternal(OpenedFile文件,流流)的ICSharpCode.FormsDesigner.FormsDesignerViewContent.LoadAndDisplayDesigner()
How am I extending my control wrong? 我怎么会错误地扩展控制?
This may purely be an issue with the namespaces in which these two controls appear. 这可能纯粹是出现这两个控件的名称空间的问题。 See if a fully qualified class name happens to solve you issue.
查看是否有完全合格的班级名称解决您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.