Kit*_*inz 37 .net c# visual-studio-2010 windows-forms-designer winforms
我有一个与标题错误有关的问题.我正在使用c#和Visual Studio 2010.
我有一个声明为"公共类FormularioGeneral:Form"的表单,它是我的应用程序中其余表单的基础.当我尝试访问Designer视图时,我会多次出现此错误,如图所示:
所有错误都引用InitializeComponent方法中的行,其中值被赋予像这样的属性:
[...]
this.PanelMargenIzquierdoCapaBase.BackColor = m_ColorCapaBase;
[...]
Run Code Online (Sandbox Code Playgroud)
但是所有变量都在与只读属性相同的类中声明,并且所有变量都在构造函数中调用的方法内分配.
财产声明:
protected Color m_VariableName;
public Color VariableName
{
get { return m_VariableName; }
set { }
}
Run Code Online (Sandbox Code Playgroud)
构造函数代码:
public FormularioGeneral()
{
ConfigurarUI();
AccionesConstructor();
InitializeComponent();
PostInicializacionComponentes();
EstablecerIcono();
InicializarLocalizacionFormulario();
}
Run Code Online (Sandbox Code Playgroud)
ConfigurarUI方法:
public virtual void ConfigurarUI()
{
[...]
m_AltoBordeSuperiorCapaBase = 30;
m_AltoBordeInferiorCapaBase = 7;
m_AnchoBordesLateralesCapaBase = 7;
m_ColorCapaBase = Color.FromArgb(50, 100, 150);
m_ColorTextoCapaBase = Color.White;
m_ColorTextoBotonAplicacion = Color.Black;
m_FuenteTextoIzquierdoCapaBase = new System.Drawing.Font("Verdana", 11.0F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
m_FuenteTextoCentroCapaBase = new System.Drawing.Font("Verdana", 14.0F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
[...]
}
Run Code Online (Sandbox Code Playgroud)
所以,据我所知,所有给出错误的变量都被正确声明,并在调用InitilizeComponent函数之前赋值.
我坚持这一点,不知道如何解决问题.希望你们中的一些人可以帮我解决这个问题.
Luc*_*cas 36
所以,我过去遇到过同样的问题,为了解决这个问题,我做了以下几点:
非常感谢Marshall Belew!
Swo*_*gan 10
我遇到了这个错误,因为我的项目只是x64.显然,作为32位应用程序的Visual Studio无法在设计器中加载任何编译为64位的表单或控件.它完全有道理,但错误没有给出任何迹象表明问题.
解决方法是在设计时将项目更改为任何CPU,然后在构建时返回.
可能由于您的构造函数代码而发生错误.放置InitializeComponent();在这样的构造函数的开头:
public FormularioGeneral()
{
InitializeComponent();
ConfigurarUI();
AccionesConstructor();
PostInicializacionComponentes();
EstablecerIcono();
InicializarLocalizacionFormulario();
}
Run Code Online (Sandbox Code Playgroud)
说明:
变量在该方法中初始化.
在我的情况下,我有一个较旧的Windows窗体项目,其InitializeComponents()开始如下:
private void InitializeComponent()
{
var componentResourceManager = new ComponentResourceManager(typeof(MyForm));
...
Run Code Online (Sandbox Code Playgroud)
这在访问componentResourceManager内部时导致稍后出现错误消息InitializeComponent():
变量'componentResourceManager'未声明或从未分配过.
当与新创建的表单进行比较时,我发现它与我的非工作表单类似,除了一件事:
变量没有命名componentResourceManager,只是简单resources.
解
在对我的变量进行重命名以获得名称后resources,一切都能成功运行.
Visual Studio 2017中的Windows窗体设计器确实正确打开了窗体.
| 归档时间: |
|
| 查看次数: |
34411 次 |
| 最近记录: |