我一般写程序的时候,读取当前文件夹的一个文件时,路径我用的是"./file1.txt",在没有使用openfiledialog之前,这个路径是完全可行的.
但是当我使用过openfiledialog后,路径就变了,根目录变成我的文档了.=============================================================System.IO.StreamReader sr = new StreamReader("./file1.txt");
string ret = sr.ReadToEnd();
sr.Close();'以上程序是正确的
=============================================================
System.IO.StreamReader sr = new StreamReader("./file1.txt");
string ret = sr.ReadToEnd();
sr.Close();
到这里都正确openfiledialog.showdialog();
System.IO.StreamReader sr = new StreamReader("./file1.txt");
string ret = sr.ReadToEnd();
sr.Close();路径就不正确了

解决方案 »

  1.   

    有一个系统变量叫CurrentPath,这个变量是随你浏览的文件夹而变动的。
    当你用OpenFileDialog时,用了一次,比如选到c:\,那么CurrentPath就变成c:\了。所以,在程序中,只有打开文件夹的时候,可以把CurrentPath赋给OpenFileDialog,其他地方要注意使用CurrentPath,因为它是变动的。
      

  2.   

    你最好不要用相对路径,在程序中做转换,用“Application.StartupPath”来替换“.”
      

  3.   

    呵呵,不用那么麻烦,你直接把OpenFileDialog的属性中有一项:RestoreDirectory,默认是False的,你把它改为True就OK了。