在离开(不关闭 - 将焦点设置为另一种形式)非模态表单时显示保存确认消息的最佳方法是什么?
用户可以选择
我无法找到防止将焦点设置为其他形式的解决方案。与关闭事件类似,我可以使用FormClosingEventArgs.Cancel属性。
在我的情况下,使用模态表格是不可接受的。
提前致谢
答案 0 :(得分:0)
首先,您可以使用Deactivated
事件来检测表单何时失去焦点。然后,如果用户想要停留在失去焦点的表单中,您可以调用BringToFront
方法将表单重新设置为活动状态。
您无法阻止用户激活其他表单,但您可以尝试(使用上述方法)将激活更改回当前表单。
答案 1 :(得分:0)
最好的方法是覆盖OnLostFocus事件。这是代码:
protected override void OnLostFocus(EventArgs e) {
base.OnLostFocus(e);
this.Focus();
}