我正在使用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存在,但在我的情况下,这不存在
请告诉我这是什么问题
答案 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();