「ほっ」と。キャンペーン
(.Net)ファイルダイアログを使うとカレントパスが変わる
例えば、下記のようなコードがあったとします。(C#)
File.WriteAllText("test.txt", "test");
OpenFileDialog dlg = new OpenFileDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
File.WriteAllText("test2.txt", "test");
}

普通に考えると、test.txt 、test2.txt 共に、exeと同じフォルダに保存されるような気がするんですが、そうではありません。
test2.txt は OpenFileDialog で開いたファイルのあるフォルダに保存されます。

カレントパスを確認する Directory.GetCurrentDirectory()System.Environment.CurrentDirectory プロパティで確認すると、パスが変わってることがよく理解できます。

ファイルダイアログ使ったとしても、exe と同じ場所に設定ファイル等保存したいときは、System.Windows.Forms.Application.StartupPath を使うといいかもしれません。
[PR]
by jehoshaphat | 2010-02-12 22:12 | .Net開発 | Trackback | Comments(0)
トラックバックURL : http://jehupc.exblog.jp/tb/12140134
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。


<< Windowsドメイン環境で他... (Linux)viで文字コード... >>