【问题标题】:OnClosing event is not being called when Close, X, button is pressed. Windows Mobile按下 Close, X, 按钮时不会调用 OnClosing 事件。视窗手机
【发布时间】:2010-10-05 05:58:18
【问题描述】:

我是 Windows Mobile 的新手,我创建了一个应用程序,需要在窗体关闭时进行一些清理。当我单击 ControlBox 中的 Close 时,它​​不会调用 OnClosing 事件。这在常规窗口中运行良好,但不适用于我的 Windows Mobile 设备。

这是我的代码:

protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
...
}

我也试过这个,但没有运气:

Form.Closing += new System.ComponentModel.CancelEventHandler(WindBaseForm_Closing);

如果您能提供任何帮助,我将不胜感激。

【问题讨论】:

    标签: c# windows-mobile


    【解决方案1】:

    正确。 Windows Mobile 中的 (X) 按钮称为“智能最小化”按钮,仅最小化窗体。将 Form 的 MinimizeBox 属性设置为 false,它将更改为 (OK),这将关闭 Form(并引发事件)。

    关于为什么会发生这种情况的详细信息,read this

    【讨论】:

    • 谢谢!就是这样。还有很棒的链接!
    • 这篇我之前读过的文章只是表明MS并不真正了解其他设备的工作原理。实际上,当您切换时,Palm 确实关闭了每个程序,它只是有一个很好的策略,即每个应用程序都应该在重新启动时努力保存和恢复确切的状态。
    • Palm 从未真正“关闭”应用程序,因为它们从未以与 CE 应用程序加载相同的方式真正“加载”。 Palm 在原地运行 PDB,直接从操作系统跳转到应用程序代码。它不是一个多任务操作系统,所以很难得出一个只有 Windows 的开发者能理解的平行线。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 1970-01-01
    • 2018-06-11
    • 1970-01-01
    • 2012-10-29
    • 2013-08-22
    相关资源
    最近更新 更多