繁体   English   中英

如何检测用C#编写的MMC 3.0 SnapIn的关闭事件

[英]How to detect the close event of MMC 3.0 SnapIn written in C#

伙计们,我正在用C#创建一个MMC3.0 SnapIn程序。 那里有一些作用域节点,还有FormViewDescription的地方,在这里我使用C#UserControl实例显示一些数据。 我的意图是,用户必须查看并更新这些数据到UserControl中,并且在该UserControl上有一个Save按钮,在编辑结束时用户应按该按钮,然后我将坚持所做的更改。

现在的问题是,如果在进行了一些更改之后,用户关闭了SnapIn窗口,则他的所有更改均已消失:(我需要在关闭该窗口之前使用“退出前保存”对话框(或类似的对话框-这样,您需要阻止用户任何编辑器程序的标准功能),但找不到方法。对我有什么建议吗?

将不胜感激!

巧合的是,我也以与​​上述相同的方式创建了MMC,但经过大量搜索(和沮丧)之后,我找不到取消取消事件的任何方法。 我建议按照以下说明更改您的方法。

首先,了解一下Windows中已经存在的大多数MMC如何处理更改设置。 通常,如果要更改设置,请在ListView中选择一个项目,然后右键单击“属性”以调出设置表单并在此处进行更改。

调出表单可以使开发人员控制表单的整个生命周期,并确保在关闭表单之前保存设置。

所以我的建议是:

  1. 创建您的FormView
  2. 添加您需要的任何状态信息
  3. 将按钮“编辑设置”添加到FormView
  4. 使用保存/取消+所有数据输入控件创建Windows窗体
  5. 当您单击“编辑设置”按钮时,使用myForm.ShowDialog()启动表单。
  6. 处理“保存/取消”按钮时按下并在数据不干净的情况下适当取消

我希望这有帮助。 祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM