如何检测所有者表单何时关闭(来自其中的控件)?
UPD我需要控件知道它的形式正在关闭,反之亦然
答案 0 :(得分:13)
FredrikMörk对此解决方案的信任:
FindForm().FormClosing += parentForm_FormClosing;
答案 1 :(得分:3)
您应该拦截 FormClosing 事件。在FormClosingEventArgs中,变量CloseReason将显示表单关闭的原因。当此变量等于 UserClosing 枚举值时,最好的选择是拦截。
答案 2 :(得分:0)
表单所有者关闭是指另一个父表单关闭表单时可以关闭表单,或者在父表单关闭时关闭表单。
使用表单结束事件检查另一个表单是否关闭了表单:
private void AppMainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if(e.CloseReason == CloseReason.FormOwnerClosing)
{
// do something
}
else
{
// do nothing
}
}