當按下「關閉」按鈕,你希望它只是「隱藏」的形式......你需要使用e.Cancel
停止了怎麼回事和關閉。
如果你真的要關閉Form2
窗口,而不是隱藏它的應用程序運行時....然後調用ReallyClose
....從而使接近沒有阻止(然後創建一個新decript_form
或null
出來)。
(或者decript_form.Dispose()
將迫使真正的封閉太)
public partial class Form2 : Form
{
private bool m_bReallyClose = false;
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
if (!m_bReallyClose)
{
this.Visible = false;
e.Cancel = true;
}
}
public void ReallyClose()
{
m_bReallyClose = true;
this.Close();
}
}
public partial class Form1 : Form
{
Form2 decript_form = new Form2();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (!decript_form.Visible)
decript_form.Show();
else
MessageBox.Show("Form already open!");
}
private void button2_Click(object sender, EventArgs e)
{
decript_form.Dispose(); // or .ReallyClose();
decript_form = new Form2();
}
}
你可以重寫關閉事件處理程序,而是隱藏窗體 –