关于C# winform编程的一点疑问
在C# WINDOW编程中 有form1和form2 我想实现 在form1上按一个按钮显示form2 并且form1隐藏,关闭form2时form1又会重新出现。现在的问题是在form2关闭时,form1并不会重新出现,并且我给两个窗体都添加了关闭时要确认的代码,但是都没显示出来程序就关闭了~ 到底是啥原因啊- -
//form1的代码
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("确认退出?","询问", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
e.Cancel = false;
}
else
{
e.Cancel = true;
}
}
private void button1_Click(object sender, EventArgs e)
{
Form2 myForm2 = new Form2(this);
myForm2.Show();
this.Hide();
}
//FORM2的代码
public partial class Form2 : Form
{
public static Form fp;
public Form2(Form formPoint)
{
fp = formPoint;
InitializeComponent();
}
public Form2()
{
InitializeComponent();
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
fp.Show();
if (MessageBox.Show("确认关闭?", "询问", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
e.Cancel = false;
}
else
{
e.Cancel = true;
}
}
由于连提示的对话框都没有出现,所以我觉得问题出在FormClosing事件上 但是我又不知道具体是啥原因~ winform c# 窗体
[解决办法]
你窗体注册这些事件了吗
[解决办法]
下面的代码,能实现你所要的效果。点击按钮,隐藏当前,显示另一个form。可以循环操作。
refer:
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
Form2 form = new Form2(this);
form.Show();
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private Form form;
public Form2(Form form)
{
InitializeComponent();
this.form = form;
}
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
form.Show();
}
}