1

我有一个winform,我想在按下X按钮后应用一个方法,问题是,winform只给你以下选项,FormClosing或FormClosed

private void MailNamen_FormClosing(object sender, FormClosingEventArgs e)
    {

    }
        //Or
        private void MailNamen_FormClosed(object sender, FormClosedEventArgs e)
        {

        }

当用户实际点击它时,我有没有办法让它做某事,而不是让它覆盖表单在没有用户点击 X 的情况下关闭的情况????非常感谢提前!

4

1 回答 1

1

FormClosingEventArgs.CloseReason属性会告诉您关闭表单的原因。如果您查看CloseReason枚举,其中一个值是UserClosing- 当用户按下X按钮或按下 Alt+F4 时会发生这种情况。

FormClosing事件在用户单击X按钮之后但在表单实际关闭之前发生 - 此时您仍然可以取消关闭表单。

编辑: 如果您特别想处理X按钮,请参阅此答案:https ://stackoverflow.com/a/9445682/682404 - 这显示了如何检测窗口非客户区域中的点击事件并确定是否关闭按钮被点击。

正如那个答案所说,你真的,真的需要一个特定的理由来这样做,否则你会混淆用户。

于 2013-06-07T16:58:39.930 回答