ダイアログのRestoreDirectoryについて
- 題名: ダイアログのRestoreDirectoryについて
- 著者: AREX
- 日時: 2007/01/16 11:11:02
- ID: 18767
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: ダイアログのRestoreDirectoryについて
- 著者: AREX
- 日時: 2007/01/16 13:00:27
- ID: 18769
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: ダイアログのRestoreDirectoryについて
- 著者: ぺがらぼ
- URL: http://pegalabo.net/
- 日時: 2007/01/16 14:51:51
- ID: 18775
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: ダイアログのRestoreDirectoryについて
- 著者: AREX
- 日時: 2007/01/16 14:59:59
- ID: 18776
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
いつも参考にさせていただいています。 OpenFileDialogを使ってファイルを指定させ、 そのファイルがあるディレクトリごと削除する機能を作っているのですが、 OpenFileDialog.RestoreDirectoryをFalseに設定するとディレクトリ削除時に アクセスエラーが起こってしまい削除することができません。 ライブラリには 「ダイアログ ボックスを閉じる前に、現在のディレクトリを復元するかどうかを示す値を取得または設定します。」 とありますがサンプルコードを見てもどのような動作なのか分かりません。 RestoreDirectoryの動作が分かる方、削除できない理由がお分かりになる方がいらっしゃいましたらご教授お願いします。 以下検証コード--- 'テストファイル作成 Directory.CreateDirectory("C:\testdir") Dim fs As New FileStream("C:\testdir\test.txt", FileMode.CreateNew) fs.Close() 'ダイアログの設定 Dim ofd As New OpenFileDialog ofd.Filter = "テキストファイル (*.txt)|*.txt" ofd.FilterIndex = 1 ofd.InitialDirectory = "C:\testdir" ofd.FileName = "test.txt" 'ここでFalseとすると削除時にエラーが発生する ofd.RestoreDirectory = False 'ファイルの指定 Dim fn As String If ofd.ShowDialog = DialogResult.OK Then fn = ofd.FileName End If 'ダイアログの破棄 ofd.Dispose() ofd = Nothing '指定したファイルのあるディレクトリの削除 If File.Exists(fn) Then Dim fi As New FileInfo(fn) 'ここでエラー発生 fi.Directory.Delete(True) End If