如何解决如何从内部控件检测何时关闭所有者表单?
| 如何检测所有者窗体何时关闭(从其内部的控件中关闭)? UPD我需要控件知道它的窗体正在关闭,反之亦然解决方法
此解决方案归功于FredrikMörk:
FindForm().FormClosing += parentForm_FormClosing;
, 您应该拦截FormClosing事件。在FormClosingEventArgs中,变量CloseReason将显示关闭表单的原因。当此变量等于UserClosing枚举值时,最好的办法是拦截。
, 表单所有者关闭是指一个表单可以被另一个可以关闭该表单的父表单关闭,或者当该父表单关闭时该表单也被关闭。
使用表单关闭事件来检查是否有另一个表单关闭了该表单:
private void AppMainForm_FormClosing(object sender,FormClosingEventArgs e)
{
if(e.CloseReason == CloseReason.FormOwnerClosing)
{
// do something
}
else
{
// do nothing
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。