在 Program.cs 中,我添加了:
public void displayControls()
{
TextBox tb = new TextBox();
tb.Text = "Enter";
tb.Location = new Point(300, 300);
tb.Size = new Size(300, 300);
tb.Visible = true;
tb.Show();
tb.BringToFront();
}
然后在:
static void Main(string[] args)
{
this.displayControls();
}
但这不起作用。我是否需要从 Form.cs 访问表单实例并添加到该实例?我需要做什么才能使文本框在表单中可见?
感谢。
答案 0 :(得分:6)
您似乎正在定位WinForm应用程序。您需要在Form.cs
中执行此操作,您可以在Form_Load
事件中执行此操作,例如:
private void Form1_Load(object sender, EventArgs e)
{
TextBox tb = new TextBox();
tb.Text = "Enter";
tb.Location = new Point(300, 300);
tb.Size = new Size(300, 300);
tb.Visible = true;
this.Controls.Add(tb); //here add it to the current form instance
}
答案 1 :(得分:3)
您应该尝试将与UI相关的元素放在 Forms.cs 中。它更容易,而且设计更好。
如果您正确单击Visual Studio解决方案上的Form1.cs元素,您可以检查是否可以访问“查看代码”选项。从这里您可以看到与UI相关的代码。
您将看到这个简单的类定义
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
但是,当您检查InitializeComponent方法时,您可以看到将显示文本框的说明。不要在Form1.Designer.cs中编写代码时要小心,因为每次构建时都会自动生成代码
答案 2 :(得分:0)
displayControls
应该是表单的方法,而不是程序。此外,您还需要:
this.Controls.Add(tb);
确保妥善处理