Liny_@NotePad

沉迷ACG中

WinForm试用ing = =。。FileOpenDialog & FileSaveDialog

YOYO posted @ 2010年8月05日 21:50 in 【C#】 with tags WinForm , 2760 阅读

其实挺好用(倘若比起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();
            }

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter