C# VS2015关闭Windows窗体工作不正常
我有VS2015 Windows窗体,每当我单击X关闭应用程序时,它都会提示我是否关闭它。当我按“否”时,弹出窗口将关闭。然而,当我按Yes时,它会弹出另一个相同的窗口,并要求我关闭或不关闭它 我如何解决这个问题?我想在第一次弹出窗口时关闭我的表单C# VS2015关闭Windows窗体工作不正常,c#,visual-studio,visual-studio-2015,windows-forms-designer,C#,Visual Studio,Visual Studio 2015,Windows Forms Designer,我有VS2015 Windows窗体,每当我单击X关闭应用程序时,它都会提示我是否关闭它。当我按“否”时,弹出窗口将关闭。然而,当我按Yes时,它会弹出另一个相同的窗口,并要求我关闭或不关闭它 我如何解决这个问题?我想在第一次弹出窗口时关闭我的表单 private void Form1_FormClosing(object sender, FormClosingEventArgs e) { const string closemsg = "Do you r
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
const string closemsg = "Do you really want to close the program?";
const string exit = "Exit";
DialogResult dialog = MessageBox.Show(closemsg, exit, MessageBoxButtons.YesNo);
if (dialog == DialogResult.Yes)
{
Application.Exit();
}
else if (dialog == DialogResult.No)
{
e.Cancel = true;
}
}
然而,当我按Yes时,它会弹出另一个相同的窗口,并要求我关闭或不关闭它
原因是将再次调用您的Form1\u FormClosing
。尝试设置一个\u isexit
标志,您可以在输入时进行测试
试试这个:
bool _isExiting;
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (_isExiting)
{
// whoops, been here already, time to go!
return;
}
const string closemsg = "Do you really want to close the program?";
const string exit = "Exit";
DialogResult dialog = MessageBox.Show(closemsg, exit, MessageBoxButtons.YesNo);
if (dialog == DialogResult.Yes)
{
_isExiting=true; // set flag here so we don't repeat this exercise again
Application.Exit();
}
else if (dialog == DialogResult.No)
{
e.Cancel = true;
}
}
然而,当我按Yes时,它会弹出另一个相同的窗口,并要求我关闭或不关闭它
原因是将再次调用您的Form1\u FormClosing
。尝试设置一个\u isexit
标志,您可以在输入时进行测试
试试这个:
bool _isExiting;
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (_isExiting)
{
// whoops, been here already, time to go!
return;
}
const string closemsg = "Do you really want to close the program?";
const string exit = "Exit";
DialogResult dialog = MessageBox.Show(closemsg, exit, MessageBoxButtons.YesNo);
if (dialog == DialogResult.Yes)
{
_isExiting=true; // set flag here so we don't repeat this exercise again
Application.Exit();
}
else if (dialog == DialogResult.No)
{
e.Cancel = true;
}
}
然而,当我按Yes时,它会弹出另一个相同的窗口,并要求我关闭或不关闭它
原因是将再次调用您的Form1\u FormClosing
。尝试设置一个\u isexit
标志,您可以在输入时进行测试
试试这个:
bool _isExiting;
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (_isExiting)
{
// whoops, been here already, time to go!
return;
}
const string closemsg = "Do you really want to close the program?";
const string exit = "Exit";
DialogResult dialog = MessageBox.Show(closemsg, exit, MessageBoxButtons.YesNo);
if (dialog == DialogResult.Yes)
{
_isExiting=true; // set flag here so we don't repeat this exercise again
Application.Exit();
}
else if (dialog == DialogResult.No)
{
e.Cancel = true;
}
}
然而,当我按Yes时,它会弹出另一个相同的窗口,并要求我关闭或不关闭它
原因是将再次调用您的Form1\u FormClosing
。尝试设置一个\u isexit
标志,您可以在输入时进行测试
试试这个:
bool _isExiting;
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (_isExiting)
{
// whoops, been here already, time to go!
return;
}
const string closemsg = "Do you really want to close the program?";
const string exit = "Exit";
DialogResult dialog = MessageBox.Show(closemsg, exit, MessageBoxButtons.YesNo);
if (dialog == DialogResult.Yes)
{
_isExiting=true; // set flag here so we don't repeat this exercise again
Application.Exit();
}
else if (dialog == DialogResult.No)
{
e.Cancel = true;
}
}
这很简单。
使删除应用程序。退出()强>
Application.Exit()生成FormClosing事件
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
const string closemsg = "Do you really want to close the program?";
const string exit = "Exit";
DialogResult dialog = MessageBox.Show(closemsg, exit, MessageBoxButtons.YesNo);
if (dialog == DialogResult.Yes)
{
//Remove Application.Exit();
//Application.Exit();
}
else if (dialog == DialogResult.No)
{
e.Cancel = true;
}
}
这很简单。
使删除应用程序。退出()强>
Application.Exit()生成FormClosing事件
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
const string closemsg = "Do you really want to close the program?";
const string exit = "Exit";
DialogResult dialog = MessageBox.Show(closemsg, exit, MessageBoxButtons.YesNo);
if (dialog == DialogResult.Yes)
{
//Remove Application.Exit();
//Application.Exit();
}
else if (dialog == DialogResult.No)
{
e.Cancel = true;
}
}
这很简单。
使删除应用程序。退出()强>
Application.Exit()生成FormClosing事件
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
const string closemsg = "Do you really want to close the program?";
const string exit = "Exit";
DialogResult dialog = MessageBox.Show(closemsg, exit, MessageBoxButtons.YesNo);
if (dialog == DialogResult.Yes)
{
//Remove Application.Exit();
//Application.Exit();
}
else if (dialog == DialogResult.No)
{
e.Cancel = true;
}
}
这很简单。
使删除应用程序。退出()强>
Application.Exit()生成FormClosing事件
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
const string closemsg = "Do you really want to close the program?";
const string exit = "Exit";
DialogResult dialog = MessageBox.Show(closemsg, exit, MessageBoxButtons.YesNo);
if (dialog == DialogResult.Yes)
{
//Remove Application.Exit();
//Application.Exit();
}
else if (dialog == DialogResult.No)
{
e.Cancel = true;
}
}
是否确实需要
Application.Exit()代码>?如果您什么也不做,并将leavinge.Cancel
返回为false,该怎么办?您确定需要Application.Exit()代码>?如果您什么也不做,并将leavinge.Cancel
返回为false,该怎么办?您确定需要Application.Exit()代码>?如果您什么也不做,并将leavinge.Cancel
返回为false,该怎么办?您确定需要Application.Exit()代码>?如果你什么也不做,然后将leavinge.Cancel
返回false会怎么样?Doh!我忘了:这里有一个+1哦!我忘了:这里有一个+1哦!我忘了:这里有一个+1哦!我忘了:这里有一个+1