Как обнаружить событие закрытия MMC 3.0 SnapIn, написанное на C # - PullRequest
1 голос
/ 02 августа 2010

Ребята, я создаю программу SnapC MMC3.0 с C #. Там у меня есть несколько узлов области действия, и у меня есть FormViewDescription, где я использовал экземпляры C # UserControl для отображения некоторых данных. И я намереваюсь, чтобы пользователь увидел и обновил эти данные в UserControl, и на этом UserControl есть кнопка Сохранить, которую пользователь должен нажать в конце их редактирования, и тогда я сохраню это изменение.

Теперь проблема в том, Если после внесения каких-либо изменений пользователь закрывает окно SnapIn, все его изменения исчезают :( Мне нужно запретить пользователю перед закрытием этого окна диалоговое окно «Сохранить перед выходом» (или что-то в этом роде - вы знаете стандартную функцию любого редактор программ). Но не смог найти способ сделать это. Любые предложения для меня?

Буду признателен за многое!

1 Ответ

1 голос
/ 17 августа 2010

По совпадению, я также только что создал MMC во многом так же, как вы описали выше, но после долгих поисков (и разочарования) я не смог найти никакого способа отменить событие закрытия. Я рекомендую изменить ваш подход, как описано ниже.

Прежде всего, посмотрите, как большинство MMC, которые уже есть в Windows, справляются с изменением настроек. Обычно, если вы хотите изменить настройку, вы выбираете элемент в ListView и щелкаете правой кнопкой мыши «Свойства», чтобы вызвать форму настроек и внести в нее изменения.

Открытие формы дает разработчику возможность управлять полным жизненным циклом формы и обеспечивать сохранение настроек до ее закрытия.

Итак, мой совет:

  1. Создайте свой FormView
  2. Добавьте любую необходимую информацию о статусе
  3. Добавьте кнопку «Изменить настройки» на ваш FormView
  4. Создание формы Windows с Сохранить / Отмена + все ваши данные ввода управление
  5. Запустите вашу форму с myForm.ShowDialog () при нажатии кнопки «Изменить настройки»
  6. Обрабатывать кнопку Сохранить / Отменить нажимает и отменяет соответственно, если грязные данные

Надеюсь, это поможет. Удачи!

...