在运行时添加标签

时间:2013-11-23 22:20:09

标签: c# winforms runtime label

如何在运行时在Visual Studio C#中创建标签?我有这个:

        Label test = new Label();
        test.Location = new Point(1,1);
        test.Text = "Working";

但它没有出现。我见过这样的东西:

Controls.Add(test);

但我收到错误:The name 'Controls' does not exist in the current context

编辑:

        public override void OnCollision()
    {
        Label test = new Label();
        test.Location = new Point(1,1);
        test.Text = "Working";
        test.Enabled = true;
        this.Controls.Add(test);
    }

单击按钮时会运行该方法。

3 个答案:

答案 0 :(得分:0)

尝试

Page.Controls.Add(test);

在您的代码隐藏文件中。如果这不起作用,你可以从aspx.cs文件中发布更多代码吗?

答案 1 :(得分:0)

这取决于您撰写Controls.Add(test);

的位置

但我几乎可以肯定,如果你做this.Controls.Add(test);将解决你的问题

答案 2 :(得分:0)

更新:你正在寻找这样的东西吗?

class labels
{
    public static void addLabel(Control ctrl)
    {
        Label test = new Label();
        test.Location = new Point(1, 1);
        test.Text = "Working";
        ctrl.Controls.Add(test);
    }
}

private void button1_Click(object sender, EventArgs e)
{
    labels.addLabel(this);
}

您可以将代码的类部分放在类文件中。你需要添加'using System.Windows.Forms;'并'使用System.Drawing;'。然后,您就可以在项目的其他文件中使用addLabel方法。