隐藏和恢复GUI c#中的多个表单
我有多个表单应用程序。 表单1是用于用户验证的登录表单。 Form1转到Form2(菜单表单)。 表单2导致Form3仅弹出窗体并在窗体2打开时隐藏表单2.表单3转到表单4.现在,从Form4中,单击按钮,我需要还原Form2而不创建新的实例。 我尝试使用singelton方法,如上所述获取error.Code,如下所示。
Form1中:
private void click_Click(object sender,EventArgs e)
{
if((user.Text == username)&&(pswd.Text == password))
{Form2 menu = new Form2();
menu.Username = user.Text;
//hides the form1
this.Hide();
menu.ShowDialog();
}
}
窗体2:
私人静态Form2实例;
public static Form2 Instance
{
get
{
if (instance == null)
{
instance = new Form2();
}
return instance;
}
}
private void button_Click(object sender,EventArgs e){
//Hide the form2
Hide();
//Bring up your PopUp form
using (Form3 form3 = new Form3())
form3.ShowDialog();
}
Form3:
private void button_Click(object sender,EventArgs e)
{
Hide();
Form4 form4 = new Form4();
form4.Show();
}
Form4:
private void button1_Click(object sender,EventArgs e)
{
Form2 form2 = Form2.Instance;//error occured as
Mainmenu不包含Instance的引用,也没有接受'Mainmenu'类型的第一个参数的扩展方法,
}
基本上,我想恢复被隐藏的Form2。任何帮助将不胜感激!谢谢
如何跟踪表单父母,以便您可以直接访问。 例如在你的Form1中:
menu.Parent = this;
Hide();
menu.ShowDialog();
然后在您的Form2中调用Form3时:
using (Form3 f3 = new Form3())
{
Hide();
f3.Parent = this.Parent;
f3.ShowDialog();
}
那么当你想要处理Form3时:
this.Parent.Show();
this.Parent.Focus();
this.Dispose();
根据这一点,可以根据需要为许多开放的表单添加内容。 如果您需要退回到以前的表单,请将父'this'而不是'this.Parent'
链接地址: http://www.djcxy.com/p/21003.html