C#Windows表单应用程序 - >在多种形式之间切换

时间:2012-06-13 05:36:21

标签: c# winforms visual-studio-2010

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

Form myform = new Form();

大于

myform.show();

show function存在,但在我的情况下,这不存在

请告诉我这是什么问题

3 个答案:

答案 0 :(得分:9)

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

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

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

public partial class Form2 : Form

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

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

答案 1 :(得分:4)

制作第二个表单的对象,然后调用Show()方法

SecondForm frmsecond = new SecondForm();
frmsecond.Show();
此处不需要

Form myform = new Form();,因为您正在尝试将myform作为Form Class的对象

答案 2 :(得分:1)

嗯..'你有两种形式(并且你没有动态创建它们),并且你想在点击事件中从一种形式切换到另一种形式,不是吗?

例如,考虑您已经通过VS GUI创建了两种形式,即Form1和Form2。如果你喜欢做像

这样的事情
Form2.Show();
那么你不能。您是否查看了应用程序的入口点,即。应用程序的Main()方法(在大多数情况下都在'Program.cs'中)。虽然您已经静态创建了Form1,但您会找到

  Application.Run(new Form1);

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

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