C# 访问';它是通过代码创建的

C# 访问';它是通过代码创建的,c#,winforms,C#,Winforms,我已通过以下代码创建了一个新表单: private void label1_Click(object sender, EventArgs e) { Form parpokeru = new Form(); parpokeru.ShowDialog(); } 如何访问表单以向其添加新元素,例如按钮。或者我也必须通过代码来完成?如果还有别的办法,请告诉我,我只会很高兴 如果表单是通过代码创建的-您可以通过代码访问它。 如果它是通过设计器创建的-您可以通过设计器访问它。您可以将控件添

我已通过以下代码创建了一个新表单:

private void label1_Click(object sender, EventArgs e)
{
    Form parpokeru = new Form();
    parpokeru.ShowDialog();
}

如何访问表单以向其添加新元素,例如按钮。或者我也必须通过代码来完成?如果还有别的办法,请告诉我,我只会很高兴

如果表单是通过代码创建的-您可以通过代码访问它。

如果它是通过设计器创建的-您可以通过设计器访问它。

您可以将控件添加到
控件
表单集合中

Form parpokeru = new Form();
Button button = new Button {
    Text = "Click Me", 
    AutoSize = true,
    Location = new Point(20, 50) // provide position
};

button.Click += (s,e) => MessageBox.Show("Clicked!"); // attach event handlers
parpokeru.Controls.Add(button);
parpokeru.ShowDialog();
但这不是很有效的方法。创建新的自定义表单,并使用设计器向该表单添加控件。然后简单地实例化它:

ParpokeruForm parpokeru = new ParpokeruForm();
parpokeru.ShowDialog();    

您只需使用
控件即可。添加

Form parpokeru = new Form();
parpokeru.Controls.Add(new Button());
parpokeru.ShowDialog();

不使用表单设计器是有原因的吗?@Steve没有。我只是不知道如何使用父表单(我记得关于它们的一些事情)。手动创建表单只是为了简单的情况,或者如果有特殊需要的话。您需要编写与主窗体的
InitializeComponent
调用中相同的代码行。如果你真的需要创建一个包含按钮、标签、文本框或datagridview的表单,最好使用设计器。谢谢,你帮了很多忙@Grantwiney指定位置通常会导致表单上的布局不佳,创建无法调整大小的对象等。正确的布局只需将所有控件放置在某种类型的布局面板中,而不是硬编码固定位置点。