当我按 Alt + F4 时,我的应用程序正在关闭。我将如何在退出之前首先显示一个 MessageBox 以进行确认,如果没有响应,则应用程序将不会继续关闭?
问问题
5089 次
3 回答
7
除了这里已经发布的答案之外,不要成为挂起整个系统的笨蛋:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason != CloseReason.UserClosing)
{
e.Cancel = false;
return;
}
// other logic with Messagebox
...
}
于 2013-09-19T09:35:32.373 回答
4
处理Form.Closing
事件,它接受一个CancelEventArgs
as 参数。在该处理程序中,显示您的消息框。如果用户希望取消,请将.Cancel
事件 args 的属性设置为true
,如下所示:
private void Form1_Closing(object sender, CancelEventArgs e)
{
var result = MessageBox.Show("Do you really want to exit?", "Are you sure?", MessageBoxButtons.YesNo);
if (result == DialogResult.No)
{
e.Cancel = true;
}
}
于 2013-09-19T09:29:29.950 回答
0
在FormClosing() 事件中添加以下代码:
private void MyForm_Closing(object sender, CancelEventArgs e)
{
if(MessageBox.Show("Are you sure want to exit the App?", "Test", MessageBoxButtons.YesNo) == DialogResult.No)
{
e.Cancel = true;
}
}
于 2013-09-19T09:30:10.393 回答