【发布时间】:2018-01-24 11:57:05
【问题描述】:
我有一个像MainPage_FormClosing(object sender, FormClosingEventArgs e) 这样的方法,我正在使用 Close 方法来关闭表单。
这个 this.Close() 方法也会触发MainPage_FormClosing 方法。
我只想在用户单击窗体窗口关闭按钮时执行一些功能。
我在这里看到了其他一些问题,他们使用String.Equals((sender as Button).Name, @"CloseButton") 之类的方式进行验证。
发件人对我来说始终为空
我如何验证这一点?
【问题讨论】:
-
为什么您希望仅在用户使用特定按钮关闭表单时进行某些验证?无论用户单击该按钮、按下 Ctrl+W 还是按下表单标题栏中的关闭按钮(如果有),您的表单关闭验证都不应该发生吗?
-
发件人将是表单。 FormClosing 中的 e 参数有一个 CloseReason。您可以使用它来查看表单关闭的原因并采取相应措施。
-
@LarsTech 的 CloseReason 具有与
UserClosing相同的值。所以我无法验证它:(
标签: c# winforms validation click formclosing