【问题标题】:Where to place a Sync() call: FormClosed or FormClosing?在哪里进行 Sync() 调用:FormClosed 或 FormClosing?
【发布时间】:2010-11-18 17:45:42
【问题描述】:

每当我的 Windows 窗体应用程序关闭时,我都需要启动 Sync() 进程。本地 SQL 实例和网络 SQL 实例之间的此同步数据。

将其放置在哪个更好的事件中:关闭或关闭?

就最佳实践而言,是否有任何因素可能会改变它?

作为一个额外的问题:是否有任何“正常”方式可以在不触发这两个事件的情况下关闭表单?

【问题讨论】:

    标签: .net winforms events .net-3.5


    【解决方案1】:

    通过 FormClosing,您可以向用户显示同步的状态和进度。例如,当我的一个应用程序正在关闭时,它会在状态栏中显示“正在保存用户设置...”,调用代码以保持自定义,然后允许关闭发生。

    同样通过 FormClosing,您可以从同步中捕获错误,并取消关闭屏幕(或提示用户是否希望继续关闭等)。

    【讨论】:

    • 我假设,通过您选择的排除词;)FormClosed 不提供这些东西?感谢您的回答。
    • FormClosed 事后发生。如果您查看 FormClosedEventArgs,您只能访问 CloseReason。相反,FormClosing 可以被取消,并在您的表单消失之前发生。它通常用于诸如“您要保存吗?是的,否取消”或“我担心我做不到,戴夫。”
    猜你喜欢
    • 1970-01-01
    • 2013-11-01
    • 2023-03-13
    • 2021-05-23
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多