如何在运行时在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);
}
单击按钮时会运行该方法。
答案 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方法。