我在与Form1:Form类相同的文件中有一个类(直接进行),并希望从类中创建一个新控件(标签thisObj = new label();)。我尝试使用以下代码:
Form1 form = new Form1();
label thisObj = new label();
thisObj.Name = "One";
form.Controls.Add(thisObj);
但是,当我这样做时,开始调试时不会加载表单窗口。
编辑:行“Form1 form = new Form1()”会导致表单无法加载。
答案 0 :(得分:2)
尝试:
this.Controls.Add(thisObj);
它会将控件添加到当前表单中。
答案 1 :(得分:1)
要将控件添加到当前表单,Frederick的代码是正确的,如下所示:
var thisObj = new Label { Name = "One", Text = "Some Text" };
Controls.Add(thisObj);
Form1没有显示是正常的,你从不调用Show()方法。如果要显示添加了新Label的Form1,则代码为:
var form = new Form1();
var thisObj = new Label { Name = "One", Text = "Some Text" };
form.Controls.Add(thisObj);
form.Show();
默认情况下将在WindowsForms应用程序中加载的表单在“Program.cs”文件中定义:
Application.Run(new Form1);
答案 2 :(得分:0)
我通过在类的构造函数中发送Form的实例来解决这个问题。