【发布时间】:2016-12-10 22:41:24
【问题描述】:
我有多个表单申请。表格 1 是用于用户验证的登录表格。 Form1 转到 Form2(菜单形式)。表单 2 导致表单 3,它只是弹出表单,并在打开表单时隐藏表单 3。表单 3 进入表单 4。现在从表单 4,单击按钮,我需要在不创建新实例的情况下恢复表单 2。我尝试使用singelton方法,得到错误。代码如下所述。
表格1:
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:
private static Form2 instance;
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 does not contain a reference for Instance and no extension method accepting a first argument of type 'Mainmenu'
}
基本上,我想恢复被隐藏的 Form2。任何帮助将不胜感激!谢谢
【问题讨论】: