OpenFileDialogの初期表示ディレクトリに関して
- 題名: OpenFileDialogの初期表示ディレクトリに関して
- 著者: ちぃ
- 日時: 2011/09/12 17:00:14
- ID: 29033
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: OpenFileDialogの初期表示ディレクトリに関して
- 著者: 魔界の仮面弁士
- 日時: 2011/09/12 17:37:53
- ID: 29035
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: OpenFileDialogの初期表示ディレクトリに関して
- 著者: タラオ
- 日時: 2011/09/12 22:42:10
- ID: 29036
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: OpenFileDialogの初期表示ディレクトリに関して
- 著者: ちぃ
- 日時: 2011/09/13 9:19:31
- ID: 29039
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: OpenFileDialogの初期表示ディレクトリに関して
- 著者: ちぃ
- 日時: 2011/09/13 9:57:42
- ID: 29040
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
いつも困ったときに助けていただいています。
OpenFileDialogの初期表示ディレクトリに関して、
WinXPとWin7で挙動が異なり苦戦しています。
解決策をご存知の方がいらしたらご教示ください。
OpenFileDialogの初期表示ディレクトリを外部ファイルに定義し、
その設定値を読み込んでInitialDirectoryに設定するという、
単純なプログラミングなのですが、
外部ファイルの定義に、存在しないディレクトリを指定した際の
挙動がXPと7で動作が異なるのです。
.NET Frameworkのバージョン違いも疑ったのですが、
OSの違うほうが原因と思えます。
-----------------------------------------------------------------
Dim txtPath As String = "C:\abc.txt" ' チェックポイント(1)
Dim txtFile As IO.StreamReader
Dim dir As String
' テキストファイルが存在しない処理は割愛
txtFile = New IO.StreamReader(txtPath, System.Text.Encoding.Default)
dir = txtFile.ReadLine
' デバッグのために読み込んだディレクトリを表示
MsgBox(dir) ' チェックポイント(2)
OpenFileDialog1.InitialDirectory = dir ' チェックポイント(3)
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
lbl_path.Text = OpenFileDialog1.FileName ' チェックポイント(4)
Else
Exit Sub
End If
-----------------------------------------------------------------
■1回目の処理
チェックポイント(1)
abc.txtに存在しないディレクトリを定義しておく。(仮にC:\test_errorとする)
チェックポイント(2)
メッセージボックスに「C:\test_error」が表示されることが確認できる。
チェックポイント(3)
指定したディレクトリが存在しないので、直前で開いたダイアログの
ディレクトリが表示される。(これは期待した通りの結果)
チェックポイント(4)
自分の希望するディレクトリに移動して、ファイルを選択、
ラベルに指定したファイルのパス+ファイル名を表示。
と、ここまで処理をした後、
abc.txtを正しいディレクトリ指定に書き換えて、
再度上記処理を実行した際の挙動がXPと7で異なります。
■2回目の処理
チェックポイント(1)
abc.txtに存在するディレクトリを定義しておく。(仮にC:\test_okとする)
チェックポイント(2)
メッセージボックスに「C:\test_ok」が表示されることが確認できる。
※ここはXP,7共に同じ挙動
チェックポイント(3)
ここがXPと7で挙動が異なります。
XP:1回目の処理のチェックポイント(4)で指定したディレクトリが
表示される。(期待していない結果)
7:「C:\test_ok」ディレクトリが表示される。(期待する結果)
つまり、XP環境で「InitialDirectory」設定が有効にならないのです。
理由が分からず、心が折れそうです。
どうかご存知の方いらしたら助けてください・・・。