1

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

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

将不胜感激!

4

1 回答 1

1

巧合的是,我也刚刚以与您上面描述的方式大致相同的方式创建了一个 MMC,但经过大量搜索(和挫折),我找不到任何方法来取消关闭事件。我建议改变你的方法,如下所述。

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

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

所以我的建议是:

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

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

于 2010-08-16T23:42:14.767 回答