1

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

Form myform = new Form();

myform.show();

显示功能存在,但在我的情况下,这不存在

请告诉我有什么问题

4

3 回答 3

9

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

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

编辑:由于您编辑了问题并添加了 part Form myform = new Form();。您实际上是在创建 base class 的实例Form。您需要创建继承Form类的 Form 实例。

public partial class Form2 : Form

在这种情况下,您需要创建 Form2 类的实例。但是你的 myForm 应该有 Show 方法。你确定你有System.Windows.Forms;using 语句和 Form 类来自System.Windows.Forms;. 尝试

System.Windows.Forms.Form myform = new Form(); //Although this is wrong but it should have show method
myform.Show();
于 2012-06-13T05:39:03.750 回答
4

制作第二种形式的对象,然后调用Show()方法

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

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

于 2012-06-13T05:59:15.223 回答
1

好吧..'你有两种形式(你不是动态创建它们),你想在点击事件上从一个切换到另一个',不是吗?

例如,假设您通过 VS GUI 创建了两个表单,即 Form1 和 Form2。如果你喜欢做类似的事情

Form2.Show();

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

  Application.Run(new Form1);

你现在明白了。您不能使用“类型”。您应该使用一个变量。因此,只有我们正在创建您的第二个表单的实例并显示它。

Form2 form=new Form2();
form.Show();
于 2012-06-13T06:14:37.843 回答