1

皆さん、私は C# で MMC3.0 SnapIn プログラムを作成しています。そこにはいくつかのスコープ ノードがあり、C# UserControl インスタンスを使用してデータを表示する FormViewDescription があります。そして、私の意図は、ユーザーはこれらのデータを表示して UserControl に更新する必要があり、ユーザーが編集の最後に押す必要があるその UserControl に [保存] ボタンがあり、その変更を保持することです。

問題は、いくつかの変更を行った後、ユーザーがスナップインウィンドウを閉じると、すべての変更が失われることです:(ユーザーがこのウィンドウを閉じる前に、「終了する前に保存する」というダイアログでユーザーを防ぐ必要があります(またはそのようなもの-ご存知のとおり)任意のエディタ プログラムの標準機能) しかし、そうする方法を見つけることができませんでした. 何か提案はありますか?

大歓迎です!

4

1 に答える 1

1

偶然にも、上記とほぼ同じ方法で MMC を作成しましたが、多くの検索 (およびフラストレーション) の後、閉じるイベントをキャンセルする方法が見つかりませんでした。以下で説明するように、アプローチを変更することをお勧めします。

まず最初に、既に Windows に組み込まれているほとんどの MMC が設定の変更をどのように処理するかを見てみましょう。通常、設定を変更する場合は、ListView でアイテムを選択し、[プロパティ] を右クリックして設定フォームを表示し、そこで変更を行います。

フォームを起動すると、開発者はフォームのライフサイクル全体を制御し、フォームを閉じる前に設定を確実に保存することができます。

だから私のアドバイスは:

  1. FormView を作成する
  2. 必要なステータス情報を追加します
  3. FormView に「設定の編集」ボタンを追加します
  4. 保存/キャンセル + すべてのデータ入力コントロールを備えた Windows フォームを作成する
  5. 「設定の編集」ボタンをクリックすると、 myForm.ShowDialog() でフォームを起動します
  6. 保存/キャンセルボタンの押下を処理し、データが汚れている場合は適切にキャンセルします

これが役立つことを願っています。幸運を!

于 2010-08-16T23:42:14.767 に答える