-1

C#のツリービューにマップされたファイル(ディレクトリ、サブディレクトリ)の切り取り/コピー/貼り付けの元に戻す/やり直しをどのように実装すればよいか、誰にでもアイデアを与えることができますか?

いくつかのコード サンプルがあると便利です。

4

3 に答える 3

7

コマンド パターン(GoF)の実装を検討してください。

  • アクション ロジックを、共通の ICommand {Do(); を実装するクラスに配置します。Undo();} インターフェイス。
  • ユーザーアクションごとに、要求されたコマンドのオブジェクトを作成し、新しいファイル名や古いファイル名などのコンテキストパラメーターで初期化します。
  • Do() を呼び出し、オブジェクトを完了したコマンドのスタックに入れます。
  • 各コマンドにはコンテキストが提供されるため、Undo() を呼び出すことで変更を元に戻すことができます。
  • ファイルを削除するのではなく、一時フォルダーに移動することを検討してください。
于 2008-12-15T11:52:08.893 に答える
5

元に戻す/やり直しは、通常、いわゆる「コマンド パターン」を使用して実装されます。Google で検索するか、次の記事をお読みください。

http://blogs.vbcity.com/jspano/articles/198.aspx

于 2008-12-15T11:39:50.570 に答える
1

迅速な線形の元に戻す/やり直すには、ファイルの zip を memento として使用するMemento パターンを使用できます。

于 2008-12-15T11:52:21.997 に答える