簡體   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