|
.NET TIPS ファイルをごみ箱に入れるには?(My機能活用)[2.0のみ、C#、VB]デジタルアドバンテージ 遠藤 孝信2008/01/10 |
![]() |
|
|
|
C#やVBのコードからファイルを削除する場合には、通常、Fileクラス(System.IO名前空間)のDeleteメソッドを使うが(「TIPS:ファイルをコピー/削除/リネーム/移動するには?」を参照)、ユーザーの操作をトリガとしてファイルを削除するようなケースでは、Deleteメソッドにより即座に削除するのではなく、操作ミスに備えてWindowsの「ごみ箱」に移動した方が好ましい場合がある。
ファイルをごみ箱に移動させるには、VB用に用意されたFileSystemクラス(Microsoft.VisualBasic.FileIO名前空間)の静的メソッドであるDeleteFileメソッドにより可能だ。もちろんこのメソッドはC#からも利用することができる。
VBによるごみ箱への移動
VBではMy機能を使ってFileSystemクラスのDeleteFileメソッドを呼び出すことができる。以下にその記述例を示す。このサンプル・プログラムはファイル「c:\tmp\gomi.bin」をごみ箱に送る。
| |
| ファイルをごみ箱へ移動するVBのサンプル・プログラム | |
| VBでは名前空間として「Microsoft.VisualBasic」までが既定でインポートされているため、UIOption列挙体などの指定は、「FileIO.〜」で書き始める。Microsoft.VisualBasic.FileIO名前空間を直接インポートした場合には、「FileIO.」の部分は記述不要となる。 |
DeleteFileメソッドの第1パラメータには削除するファイルのパス名、そして第3パラメータにはRecycleOption列挙体(Microsoft.VisualBasic.FileIO名前空間)の値であるSendToRecycleBinを指定すればよい。
第2パラメータには、UIOption列挙体(Microsoft.VisualBasic.FileIO名前空間)の値により、エラー・ダイアログのみを表示するか(OnlyErrorDialogs)、ファイル削除の進ちょく状況を示すプログレス・ダイアログを含めたすべてのダイアログを表示するか(AllDialogs)を指定できる。しかし通常はファイルの削除は一瞬で完了するため、プログレス・ダイアログの表示はほとんど意味がない。
ちなみに、「My.Computer.FileSystem.DeleteFile(……)」の部分はMy機能を使わずに、「FileIO.FileSystem.DeleteFile(……)」と記述することもできる。
C#によるごみ箱への移動
次に、C#からFileSystemクラスのDeleteFileメソッドを呼び出す場合の記述例を以下に示す。Visual Studio利用時には、Microsoft.VisualBasicコンポーネント(Microsoft.VisualBasic.dll)を参照設定に追加しておく必要がある。
| |
| ファイルをごみ箱へ移動するC#のサンプル・プログラム |
なお、ディレクトリのごみ箱への移動については「TIPS:進行状況を表示しながらディレクトリやファイルをコピー/移動/削除するには?(My機能活用)」で解説しているので、そちらを参照していただきたい。![]()
| 利用可能バージョン:.NET Framework 2.0のみ カテゴリ:クラス・ライブラリ 処理対象:ディレクトリ&ファイル 使用ライブラリ:FileSystemクラス(Microsoft.VisualBasic.FileIO名前空間) 使用ライブラリ:UIOption列挙体(Microsoft.VisualBasic.FileIO名前空間) 使用ライブラリ:RecycleOption列挙体(Microsoft.VisualBasic.FileIO名前空間) 関連TIPS:ファイルをコピー/削除/リネーム/移動するには? 関連TIPS:進行状況を表示しながらディレクトリやファイルをコピー/移動/削除するには? |
|
||||||||||||||||||||||||||||
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


