OpenFileDialog 害人的RestoreDirectory

莫名其妙出现找不到文件的错误。经查,发现:

OpenFileDialog,SaveFileDialog在选择文件后,会切换当前程序目录的路径(System.Environment.CurrentDirectory)。

两个控件有个RestoreDirectory属性,=true,解决。而且这玩意儿还跟操作系统有关,XP有问题,Win7 OK。

总结:

能不用相对路径就不要用,尤其项目复杂了,这种错误很难找。

P.S.

http://stackoverflow.com/questions/6041332/best-way-to-get-application-folder-path

包括wcf 读取配置文件路径,默认都是 相对路径

时间: 2024-10-07 06:28:48

OpenFileDialog 害人的RestoreDirectory的相关文章

C# OpenFileDialog用法

private void button1_Click(object sender, EventArgs e){      OpenFileDialog fileName = new OpenFileDialog();      fileName.InitialDirectory = Application.StartupPath;      fileName.Filter = "所有文件(*.*)|*.*|菜单文件(*.md)|*.md";      fileName.FilterIn

C# OpenFileDialog和PictrueBox

 string resultFile = ""; OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = "D:\\Patch"; openFileDialog1.Filter = "All files (*.*)|*.*|txt files (*.txt)|*.txt"; openFileDialog1.FilterI

C#中OpenFileDialog的使用

string resultFile = ""; OpenFileDialog openFileDialog1 = new OpenFileDialog();            openFileDialog1.InitialDirectory = "D:\\Patch";            openFileDialog1.Filter = "All files (*.*)|*.*|txt files (*.txt)|*.txt";     

C# OpenFileDialog 的用法

OpenFileDialog openFileDialog = new OpenFileDialog(); //打开的文件选择对话框上的标题 openFileDialog.Title = "请选择文件"; //设置文件类型 openFileDialog.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"; //设置默认文件类型显示顺序 openFileDialog.FilterIndex = 1; //保存对话框是否记忆上次打开的目

Winform控件:打开文件对话框(OpenFileDialog)

OpenFileDialog类提供了用户打开文件的功能,它有如下属性: 属性 InitialDirectory:设置对话框的初始目录. Filter: 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*". FilterIndex: 在对话框中选择的文件筛选器的索引,如果选第一项就设为1. RestoreDirectory: 控制对话框在关闭之前是否恢复当前目录. FileName:第一个在对话框中显示的文件或最后一个选取的文件. T

Winform关于OpenFileDialog的使用方法

1.OpenFileDialog控件有以下基本属性InitialDirectory 对话框的初始目录Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1RestoreDirectory 控制对话框在关闭之前是否恢复当前目录FileName 第一个在对话框中显示的文件或最后一个选取的文件Title 将显示在对话框标题栏中的字符AddExtensi

C#winform中OpenFileDialog的用法

private void btnOpenFileDialog_Click(object sender, EventArgs e) { OpenFileDialog oFD = new OpenFileDialog(); oFD.Title = "打开文件"; oFD.ShowHelp = true; oFD.Filter = "文本文件|*.txt|RTF文件|*.rtf|所有文件|*.*";//过滤格式 oFD.FilterIndex = 1; //格式索引 oF

C#中SaveFileDialog 和OpenFileDialog 的用法

1.OpenFileDialog 1 private void btnOpen_Click(object sender, EventArgs e) 2 { 3 OpenFileDialog ofd = new OpenFileDialog(); 4 ofd.InitialDirectory = @"C:\Users\LWP1398\Desktop"; //设置初始路径 5 ofd.Filter = "Excel文件(*.xls)|*.xls|Csv文件(*.csv)|*.cs

C#中OpenFileDialog获取文件名和文件路径的常用方法

System.IO.Path.GetFullPath(openFileDialog1.FileName);                             //绝对路径 System.IO.Path.GetExtension(openFileDialog1.FileName);                          //文件扩展名 System.IO.Path.GetFileNameWithoutExtension(openFileDialog1.FileName);//文件