C# Windows 窗体应用程序 -->多个窗体之间的切换

本文关键字:窗体 之间 Windows 应用程序 | 更新日期: 2023-09-27 18:36:55

我正在使用Visual C# 2010开发Windows Form Application Microsoft我有两个通过 Visual Studio GUI 制作的表单,现在我想在按钮单击事件上切换到下一个表单this.hide()工作,但是当我写下一个表单名称后跟点时show()方法没有显示它似乎显示方法不适用于它。如何显示我的新表单,因为它不是动态创建的,我已经通过Visual Studio GUI创建了它当我动态创建它时

Form myform = new Form();

myform.show();

显示函数存在,但就我而言,这不存在

请告诉我有什么问题

C# Windows 窗体应用程序 -->多个窗体之间的切换

您需要创建 Form2 的对象,并在 Form2 的实例上调用 show 方法

Form2 form = new Form2();
form.Show();
编辑

由于您编辑了问题并添加了部分Form myform = new Form();.您实际上是在创建基类 Form 的实例。您需要创建继承Form类的表单实例。

public partial class Form2 : Form

在这种情况下,您需要创建 Form2 类的实例。但是你的myForm应该有显示方法。您确定在使用语句和 Form System.Windows.Forms;类时具有System.Windows.Forms;吗?尝试

System.Windows.Forms.Form myform = new Form(); //Although this is wrong but it should have show method
myform.Show();

创建第二个形式的对象,然后调用Show()方法

SecondForm frmsecond = new SecondForm();
frmsecond.Show();

这里不需要Form myform = new Form();,因为您试图将 myform 作为表单类的对象

很好。"您有两种表单(并且您不是动态创建它们),并且您想在点击事件中从一个切换到另一个表单",不是吗?

例如,假设您通过 VS GUI 创建了两个窗体,即 Form1 和 Form2。如果你喜欢做这样的事情

Form2.Show();

那你就不能。您是否查看了应用程序的入口点,即。应用程序的 main() 方法(在大多数情况下在"程序.cs"中)。虽然您已经静态创建了 Form1,但您会发现

  Application.Run(new Form1);

你现在明白了。不能使用"类型"。您应该使用变量。出于这个原因,我们只创建您的第二个表单的实例并显示它。

Form2 form=new Form2();
form.Show();