我想做一个MessageBox确认。这是消息框:
DialogResult dialog = MessageBox.Show("Etes vous sûre de vouloir fermer le programme ?", "Exit",MessageBoxButtons.YesNo);
if (dialog == DialogResult.Yes)
{
Application.Exit();
}
else if (dialog == DialogResult.No)
{
e.Cancel = true;
}
问题是,当我点击YES按钮时,弹出窗口不会自动关闭。我再次点击2次后将关闭。 它应该从第一次关闭。
看起来很容易,但我不确定我的错误在哪里;
答案 0 :(得分:5)
如果它采用主窗体关闭方法,您可以像这样使用它:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("Really close?", "Exit", MessageBoxButtons.YesNo) ==
System.Windows.Forms.DialogResult.No)
e.Cancel = true;
}
如果用户按"是"由于没有完全取消,您的表格将被关闭。
如果它不是主要形式,那么关闭并不意味着申请退出。在这种情况下,您可以在ShowDialog
调用后显式关闭父表单。
答案 1 :(得分:3)
以下是提示消息的代码(是/否):
DialogResult dialogResult = MessageBox.Show("Are you sure to delete Yes/No", "Delete", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
/// do something here
}
答案 2 :(得分:1)
在number
之前致电Application.DoEvents()
。但最好使用Application.Exit()
而不是Application.Exit来关闭父表单。
答案 3 :(得分:-1)
switch (MessageBox.Show("Etes vous sûre de vouloir fermer le programme ?", "Your_Application_Name", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
{
case DialogResult.Yes:
Application.Exit();
break;
case DialogResult.No:
//Action if No
break;
}