Don';当用户点击C#app标题栏中的关闭按钮时,我不想退出程序

Don';当用户点击C#app标题栏中的关闭按钮时,我不想退出程序,c#,titlebar,C#,Titlebar,致力于C#应用程序的开发 我想保持关闭按钮在标题栏的右上角,但若最终用户点击它,我只想他得到信息窗口,他不能关闭应用程序,直到其他适当的按钮 有可能实现吗 Tnx在adv 将事件处理程序添加到表单的OnClosing事件中。事件参数包含一个元素Cancel。将其设置为true,它将不会关闭 基本上是这样的: private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) { e.Canc

致力于C#应用程序的开发

我想保持关闭按钮在标题栏的右上角,但若最终用户点击它,我只想他得到信息窗口,他不能关闭应用程序,直到其他适当的按钮

有可能实现吗


Tnx在adv

将事件处理程序添加到表单的
OnClosing
事件中。事件参数包含一个元素
Cancel
。将其设置为
true
,它将不会关闭

基本上是这样的:

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
    e.Cancel = !stuffdone;
}

您可以像这样处理
FormClosing
事件处理程序

private void Form_FormClosing(object sender, FormClosingEventArgs e)
{
    //there can be other reasons for form close make sure X button is clicked
    // if close button clicked
    if (e.CloseReason == CloseReason.UserClosing)
    {
        e.Cancel = true;
    }
}

我建议显示一个消息框,显示应用程序未关闭的原因…嗯,这是要添加的其他代码的一部分,我猜。tnx,它可以工作,但现在我有一个问题,如果用户单击计划用于关闭应用程序的按钮,它总是调用Form1\u关闭操作。。。我能避免吗?看看我的答案。您需要添加检查它是否是交叉按钮。一旦按下按钮(或您称之为该变量的任何内容),您必须设置
stufdtone
。此外,Haris的“原因”检查也不会有什么坏处,尤其是当你不想让Windows关闭时。