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

时间:2010-08-02 08:49:39

标签: c# mmc3

伙计们,我正在用C#创建一个MMC3.0 SnapIn程序。我有一些范围节点,我有FormViewDescription,我使用C#UserControl实例来显示一些数据。我的意图是,用户必须查看并将这些数据更新到UserControl中,并且在UserControl上有一个Save按钮,用户应该在编辑结束时按下该按钮,然后我将保留该更改。

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

非常感谢!

1 个答案:

答案 0 :(得分:1)

巧合的是,我刚刚以与你上面描述的方式相同的方式创建了一个MMC,但经过多次搜索(和挫折)后,我找不到任何方法来取消关闭事件。我建议您按照以下说明更改您的方法。

首先看一下Windows中已有的大多数MMC如何处理更改设置。通常,如果要更改设置,请在ListView中选择一个项目,然后右键单击“属性”以显示设置表单并在那里进行更改。

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

所以我的建议是:

  1. 创建FormView
  2. 添加您需要的任何状态信息
  3. 将“编辑设置”按钮添加到您的 FormView的
  4. 使用创建Windows窗体 保存/取消+所有数据输入 对照
  5. 启动表单 单击“编辑设置”按钮时的myForm.ShowDialog()
  6. 处理“保存/取消”按钮 如果按下并适当取消 数据很脏
  7. 我希望这会有所帮助。祝你好运!