我无法为由 CodeDom 编译的应用程序创建标签
I cannot create a label for my application compiled by CodeDom
我正在使用 codedom 制作一个简单的表单编译器。一切都很好,表单运行良好,但我可以创建一个 "label" 这是我的应用程序的反编译代码:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Neutron
{
public class NeutronX : Form
{
private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new NeutronX());
}
public NeutronX()
{
this.InitializeComponent();
}
private void InitializeComponent()
{
this.label1 = new Label();
base.SuspendLayout();
base.AutoScaleDimensions = new SizeF(6f, 13f);
base.AutoScaleMode = AutoScaleMode.Font;
this.BackColor = Color.FromArgb(255, 255, 255);
base.ClientSize = new Size(400, 378);
base.MaximizeBox = false;
base.Name = "Form";
base.ShowIcon = false;
this.Text = "Form";
this.ForeColor = Color.Black;
base.ResumeLayout(false);
base.PerformLayout();
this.label1.AutoSize = true;
this.label1.Location = new Point(187, 62);
this.label1.Name = "label1";
this.label1.Size = new Size(49, 21);
this.label1.TabIndex = 0;
this.label1.Text = "label1";
this.label1.TextAlign = ContentAlignment.TopLeft;
this.label1.BackColor = Color.FromArgb(255, 128, 64);
this.label1.ForeColor = Color.FromArgb(0, 0, 0);
this.label1.Visible = true;
}
public Label label1;
}
}
我做错了什么?我测试了一切但什么也没得到...
也只是想把它作为答案。仅创建您需要的控件,将其添加到控件树中以供消息循环显示和处理是不够的。在你的情况下到表单控制列表。只需添加:
this.Controls.Add(this.label1);
我正在使用 codedom 制作一个简单的表单编译器。一切都很好,表单运行良好,但我可以创建一个 "label" 这是我的应用程序的反编译代码:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Neutron
{
public class NeutronX : Form
{
private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new NeutronX());
}
public NeutronX()
{
this.InitializeComponent();
}
private void InitializeComponent()
{
this.label1 = new Label();
base.SuspendLayout();
base.AutoScaleDimensions = new SizeF(6f, 13f);
base.AutoScaleMode = AutoScaleMode.Font;
this.BackColor = Color.FromArgb(255, 255, 255);
base.ClientSize = new Size(400, 378);
base.MaximizeBox = false;
base.Name = "Form";
base.ShowIcon = false;
this.Text = "Form";
this.ForeColor = Color.Black;
base.ResumeLayout(false);
base.PerformLayout();
this.label1.AutoSize = true;
this.label1.Location = new Point(187, 62);
this.label1.Name = "label1";
this.label1.Size = new Size(49, 21);
this.label1.TabIndex = 0;
this.label1.Text = "label1";
this.label1.TextAlign = ContentAlignment.TopLeft;
this.label1.BackColor = Color.FromArgb(255, 128, 64);
this.label1.ForeColor = Color.FromArgb(0, 0, 0);
this.label1.Visible = true;
}
public Label label1;
}
}
我做错了什么?我测试了一切但什么也没得到...
也只是想把它作为答案。仅创建您需要的控件,将其添加到控件树中以供消息循环显示和处理是不够的。在你的情况下到表单控制列表。只需添加:
this.Controls.Add(this.label1);