2011-10-26 74 views
0

我一直在调整我的节目了一整天,我有隐藏一种形式,会弹出说有问题“请等待”如何隐藏从主窗体形式

例如:

private void button12_Click(object sender, EventArgs e) 
    { 
     form2 wait = new form2(); 
     pw.Show(); 
    } 
    private void button13_Click(object sender, EventArgs e) 
    { 
     form2 wait = new form2(); 
     pw.Hide(); 
    } 

这是行不通的,虽然我确信这不是偶然的C#程序员的消息。有没有一种简单的方法来做我正在尝试的?我尝试过在线搜索,但我确实发现了一些东西,虽然我不是100%确定他们正在尝试做什么。我打算找一个例子向你展示,但我关闭了页面 - 典型。不过,我认为他们试图超越节目,让你用bool控制.show。

+0

所以问题只是躲在'pw'? – philt5252

+0

是的,我似乎无法隐瞒它 - 无论我尝试什么。 – Marshal

+0

你是否在代码中将'pw'设置为其他表单的其他表单?我有一个示例应用程序安装程序,其中包含两个按钮,每个按钮都带有上面列出的操作...我的pw隐藏和显示很好。 – philt5252

回答

4

因为你希望它是因为里面button12_Clickform2button13_click内从form2不同的代码无法正常工作。请注意,您正在使用new关键字两次。所以在button13_click中,你正在创建一个新的form2,然后隐藏它,即使你还没有显示它!

相反,你可以创建一个form2比如你两种方法之间共享:

//define this code outside both of the methods below 
form2 _waitForm = new form2(); 

private void button12_Click(object sender, EventArgs e) 
{ 
    _waitForm.Show(); 
} 
private void button13_Click(object sender, EventArgs e) 
{ 
    //this will hide the same form2 that was shown in button12_Click 
    _waitForm.Hide(); 
} 
+0

是啊,凯文说的是:) – Kell