2012-06-13 26 views
1

我正在开发Windows窗体应用程序使用Microsoft Visual C#之间切换2010 我有我通过Visual Studio GUI由两种形式,现在我想切换到下一个窗体上按钮的Click事件this.hide()作品但是当我写下一个表格名称后面跟着点号show()方法不会显示它看起来show方法不可用。 我怎么能把我的新形式,它不是动态创建的我已经通过Visual Studio GUI 创建它。当我动态创建为C#Windows窗体应用程序 - >多种形式

Form myform = new Form(); 

myform.show();

显示函数存在但在我的情况下,这不存在

请告诉我有什么问题

回答

4

让你的第二个窗体的对象,然后调用Show()方法

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

Form myform = new Form();,因为你正试图使myForm会作为Form类的一个对象

9

您需要创建窗体2的对象,并呼吁实例展示方法窗体2

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

既然你编辑你的问题,增加了部分Form myform = new Form();。实际上,您正在创建一个基类Form的实例。您需要创建继承Form类的表单实例。

public partial class Form2 : Form 

在这种情况下,您需要创建Form2类的实例。但是你的myForm应该有Show方法。你确定你有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(); 
+0

但我已经应用所有的长度宽度高度背景图像也通过GUI的所有其他事情我可以通过它做到彻底检查我的问题,并确定什么是真正的问题 – user1366440

1

以及在这里不需要。 '你有两种形式(并且你不是动态创建它们的),并且你想在点击事件中从一个切换到另一个',不是吗?

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

Form2.Show(); 

然后你不能。你看过你的应用程序的入口点吗?你的应用程序的Main()方法(在大多数情况下是在'Program.cs'中)。虽然你已经创建了Form1静态,你会发现

Application.Run(new Form1); 

你明白了。你不能使用'类型'。你应该使用一个变量。出于这个原因,只有我们正在创建你的第二个Form的实例并显示它。

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