我无法为CodeDom编译的应用程序创建标签

问题描述 投票:0回答:1

我用encodeom制作一个简单的表单编译器。一切都很好,表单工作得很好,但我可以在这里创建一个“标签”是我的应用程序的反编译代码:

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;
   }
}

我究竟做错了什么?我测试了一切但什么都没有...

c# winforms codedom
1个回答
1
投票

只是把它作为答案。仅通过消息循环显示和处理控制树所需的控件是不够的。在您的情况下到表单控件列表。只需添加:

 this.Controls.Add(this.label1);
© www.soinside.com 2019 - 2024. All rights reserved.