WinForm试用ing = =。。FileOpenDialog & FileSaveDialog
其实挺好用(倘若比起JFileDialog来说)。。
只是在用FileOpenDialog时要注意,关闭对话框时默认会改变工作目录。
今天就遇到了在打开一个文件后工作目录被改动,导致后面用相对路径就找不到文件了。
解决方案很简单,配置FileOpenDialog的RestoreDirectory属性为true,即在对话框关闭时还原工作目录。
dlg_openFile.Title = "选择要导入的数据库脚本文件"; dlg_openFile.FileName = ""; dlg_openFile.Filter = "脚本文件(*.sql)|*.sql"; dlg_openFile.RestoreDirectory = true; if (dlg_openFile.ShowDialog() == DialogResult.OK) { txf_file.Text = dlg_openFile.FileName; // 使用获得的文件.. }
dlg_saveFile.Title = "请选择日志保存的位置"; dlg_saveFile.FileName = "log_" + DateTime.Today.ToShortDateString(); dlg_saveFile.Filter = "文本文件(*.txt)|*.txt|CSV文件(*.csv)|*.csv"; if (dlg_saveFile.ShowDialog() == DialogResult.OK) { StreamWriter writer = new StreamWriter(new FileStream(dlg_saveFile.FileName, FileMode.Create), Encoding.Default); // 写内容.. writer.Flush(); writer.Close(); }