.Net Winforms告诉我是否按下了退出按钮

Jef*_*eff 0 .net validation controls winforms

我正在使用一些控件在发生任何事情时陷阱验证 - 包括当用户按下退出按钮时.有没有办法判断是否按下退出按钮?

Ray*_*Ray 8

如果您指的是窗口右上角的"关闭"按钮,则需要使用FormClosing事件.


Jay*_*ggs 6

要添加到Ray所说的内容,您可以检查表单的FormClosing事件.

具体来说,请查看FormClosingEventArgs的CloseReason属性.如果用户单击表单右上角的"x",则此属性的值将为UserClosing.

但是,如果您有自己关闭表单的"关闭"按钮,则此属性将具有相同的值,因此您无法判断用户如何关闭表单.

我所做的是在我的表单中添加一个名为_closeButtonClicked的bool字段,并在单击我的"关闭"按钮时将其设置为true.在我的FormClosing事件中,我检查e.CloseReason == UserClosing和_closeButtonClicked.

这对我有用,但我想知道是否有更好的方法.