我想重置我的主表單,以便我可以輕鬆地重置所有文本框和變量。我在Progam.cs中添加了一個bool,以便在應用程序關閉並重新打開時保持打開狀態。當我試圖關閉它時,on_closing甚至會發生兩次。我不知道該怎麼做才能阻止它的發生,但我知道這應該是簡單的。關閉並重新打開表單而不關閉應用程序
的Program.cs:
static class Program
{
public static bool KeepRunning { get; set; }
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
KeepRunning = true;
while (KeepRunning)
{
KeepRunning = false;
Application.Run(new Form1());
}
}
}
Form1中:
private void button1_Click(object sender, EventArgs e)
{
Program.KeepRunning = true;
this.Close();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult dialogResult = MessageBox.Show("You have unsaved work! Save before closing?", "Save?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation);
if (dialogResult == DialogResult.Yes)
{
e.Cancel = true;
MessageBox.Show("saving then closing");
Application.Exit();
}
if (dialogResult == DialogResult.No)
{
MessageBox.Show("closing");
Application.Exit();
}
if (dialogResult == DialogResult.Cancel)
{
e.Cancel = true;
MessageBox.Show("canceling");
}
}
@HansPassant ,我想說這肯定不是重複的,很可能是另一個重複的綜合徵病例。即使解決方案是相同的,這些問題也是不同的。 – 2013-03-24 01:48:19
「關閉表單而不關閉應用程序」,完全相同的問題。 – 2013-03-24 01:51:27