C# - 如何创建关闭按钮

时间:2014-11-25 07:53:42

标签: c# winforms

假设我有一个名为" 退出"的按钮。在Winforms应用程序中

单击按钮时C#中的代码会询问您是否要关闭该程序?

5 个答案:

答案 0 :(得分:4)

只需使用FormClosingEventArgs

即可
private void Form_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (MessageBox.Show("This will close down the whole application. Confirm?", "Close    Application", MessageBoxButtons.YesNo) == DialogResult.Yes)
        {
            MessageBox.Show("The application has been closed successfully.", "Application Closed!", MessageBoxButtons.OK);

        }
        else
        {
            e.Cancel = true;
            this.Activate();
        }   
    }

答案 1 :(得分:0)

按钮点击事件只需致电:

this.Close()

Application.Exit();

答案 2 :(得分:0)

来自MSDN:

Application.Exit

  

通知所有消息泵必须终止,然后关闭   处理完消息后的所有应用程序窗口。这个   是你调用Application.Run(WinForms。)时使用的代码   应用程序),此方法停止所有正在运行的消息循环   线程并关闭应用程序的所有窗口。

Environment.Exit

  

终止此过程并为底层操作系统提供   指定的退出代码。这是您使用时要调用的代码   控制台应用程序。

答案 3 :(得分:0)

MessageBoxResult result = Confirm("Are you sure you want to Close?","Close Application");
if (result == MessageBoxResult.Yes)
{
  Application.Exit();
}

private static MessageBoxResult Confirm(string message, string caption)
{
        return MessageBox.Show(message, caption, MessageBoxButton.YesNo, MessageBoxImage.Exclamation, MessageBoxResult.No);
}

答案 4 :(得分:0)

只需将Click事件(或您想要的任何事件)附加到此代码即可。

private void Exit_Click(object sender, EventArgs e)
{
    DialogResult dialogResult = MessageBox.Show("Text here", "Header here", MessageBoxButtons.YesNo);
    if (dialogResult == DialogResult.Yes)
    {
        Close();
    }
}