none
My.~.CopyDirectoryについて RRS feed

  • 質問

  • 教えて下さい。

    My.Computer.FileSystem.CopyDirectoryのOnlyErrorDialogsでコピーをキャンセルするにはどのようなコードを記述すればいいのでしょうか?

    2006年3月30日 5:59

すべての返信

  • 諸農です。

    キャンセルの発生タイミングが知りたいのか、キャンセル時に何かの操作をしたいのか等々、具体的な意図が質問内容から読み取れませんでした。
    もう
    少し具体的に「どんな時」に「何を」「どうしたい」のかを書いた方が良いと思います。

    ドキュメントを見る限りでは、UICancelOptionを使用すればキャンセルボタンが表示されるようです。またキャンセルボタンが押された場合はOperationCanceledExceptionが発生するようです。
    その他にも色々な理由で例外が発生するようです。例外が発生した場合はDataプロパティにIDictionaryインタフェース型のデータが操作対象のファイル/ディレクトリをキーとして格納されているようです。

     

     

    2006年4月10日 5:01
  • 諸農さんレスありがとうございます。

    教えて頂きたいことはUICancelOptionを指定した時にでてくるキャンセルボタンの代わりにフォーム上に配置したキャンセルボタンでXCOPYの実行を途中で中断することが可能かどうかです(ダイアログを表示したくないもので)。

    説明不足で申し訳ありませんが宜しくお願いします。

    2006年4月11日 2:36
  • 諸農です。

    遅くなってすみません。
    すっかり見落としていました。

     POD さんからの引用

    教えて頂きたいことはUICancelOptionを指定した時にでてくるキャンセルボタンの代わりにフォーム上に配置したキャンセルボタンでXCOPYの実行を途中で中断することが可能かどうかです(ダイアログを表示したくないもので)。

    多分ですが、標準で表示することの出来る中止ボタンを使う方法以外では、途中キャンセルというのは無理なんじゃないでしょうか。

    考えられる方法は、コピー対象のディレクトリを一度サーチしてFileInfoまたはFileクラスを使って順次コピー処理を行うメソッドを作る、みたいな感じになると思います。

     

    2006年4月19日 12:57
  • そうですか...

    やはりないのですね。

    現状では、キャンセルを無くし終了として処理途中であればメッセージを表示し、GetProcessesByNameのKillメソッドで強制終了するようにしました。この場合だとフォームも閉じてしまうので本来の仕様とは違いますが仕方がないですね。

    2006年4月20日 0:54