C# 在运行时添加标签
如何在运行时在Visual Studio C#中创建标签?我有这个:C# 在运行时添加标签,c#,winforms,runtime,label,C#,Winforms,Runtime,Label,如何在运行时在Visual Studio C#中创建标签?我有这个: Label test = new Label(); test.Location = new Point(1,1); test.Text = "Working"; 但它没有出现。我见过这样的用法: Controls.Add(test); 但是我得到了一个错误:当前上下文中不存在名称“Controls” 编辑: 单击按钮时会运行该方法。请重试 Page.Controls.Add(
Label test = new Label();
test.Location = new Point(1,1);
test.Text = "Working";
但它没有出现。我见过这样的用法:
Controls.Add(test);
但是我得到了一个错误:当前上下文中不存在名称“Controls”
编辑:
单击按钮时会运行该方法。请重试
Page.Controls.Add(测试)代码>
在代码隐藏文件中。如果这不起作用,您可以从aspx.cs文件中发布更多代码吗?这取决于您在哪里编写控件。添加(测试)代码>
但我几乎可以肯定,如果您执行this.Controls.Add(test)
将解决您的问题更新:您正在寻找的是这样的东西吗
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);
}
您可以将代码的类部分放入类文件中。您需要添加“使用System.Windows.Forms;”以及"使用系统绘图"。然后,您可以在项目中的其他文件中使用addLabel方法。您在哪里添加此标签?我在这方面是新手,所以我不知道“文件背后的代码”是什么意思。这几乎就是所有相关的代码。整个方法是:public override void OnCollision(){Label test=new Label();test.Location=new Point(1,1);test.Text=“Working”;test.Enabled=true;Page.Controls.Add(test);}点击一个按钮就可以调用它。您是否有一个以aspx.cs
结尾的文件,它是您的aspx页面的代码隐藏文件?e、 g.Default.aspx将有一个Default.aspx.cs文件,这是C#代码所在的位置。这是什么类型的项目?Web应用程序?我似乎没有这样的文件。尝试在solotion中搜索。无论您是否使用此
,如果您已经在类中,这都无关紧要。可能他在类外或类似的地方使用它。没有,但我得到一个新错误:“Event.Text”不包含“Controls”的定义,并且找不到接受“Event.Text”类型的第一个参数的扩展方法“Controls”(是否缺少using指令或程序集引用?)“控制“应该是的,我刚在谷歌上看到它的使用。在第一篇博文中添加了它,并且OnCollision
声明在哪里?哪个班?无论如何,控件
引用了一个表单,因此请确保您正在表单类中编写代码。确实如此!这就是进步。但是当我从另一个班级打电话时,为什么它不起作用呢?需要做些什么?
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);
}