在按钮单击 c# 时以另一个 windows 形式显示面板

Displaying a panel in another windows form on button click c#

我正在开发一个 c# 程序,我希望在单击另一个窗体中的按钮时在窗体上显示一个面板。因此,当在 form2 上单击添加按钮时,要求详细信息的面板将显示在 form 1 上。

我目前在 form1 中设置了一个静态方法,可以从 form2 访问它 - 但是由于 panel.Show() 是非静态的,它不允许我在函数中使用它。

在 Form1 中我有:

public static void showPanel()
{
   panel.Show()
}

在我的第二种形式中,我有以下内容:

private void btn_add_Click(object sender, EventArgs e)
{
   form1.showPanel();
   this.Hide();
}

我已经测试过只让静态函数显示一个有效的消息框。是否可以按照我想要的方式进行,或者我是否需要退后几步并尝试不同的技术?

我们是在谈论第二种形式的新实例吗?如果是这样,您可以尝试使用以下方法实例化新形式:

Form newForm = new YourFormName(potential parameters); newForm.showPanel(); newForm.Show();

如果您想在打开的表单上执行该表单,您可以为第一个表单提供第二个表单的引用(带实例的字段)。或者您可以尝试使用:Application.OpenForms。如果你给它[1],它可能会给你第二个打开的表格。您还可以使用 .OfType 获取正确的表格,以防您的表格顺序不总是相同。