0%

C#中SaveFileDialog 和OpenFileDialog 的用法

C#中SaveFileDialog 和OpenFileDialog 的用法
本文通过几个示例来说明SaveFileDialog 和OpenFileDialog 的用法
1.OpenFileDialog

1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void btnOpen_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.InitialDirectory = @"C:\Users\LWP1398\Desktop"; //设置初始路径
ofd.Filter = "Excel文件(*.xls)|*.xls|Csv文件(*.csv)|*.csv|所有文件(*.*)|*.*"; //设置“另存为文件类型”或“文件类型”框中出现的选择内容
ofd.FilterIndex = 2; //设置默认显示文件类型为Csv文件(*.csv)|*.csv
ofd.Title = "打开文件"; //获取或设置文件对话框标题
ofd.RestoreDirectory = true;
if (ofd.ShowDialog() == DialogResult.OK)
{
//FileName:所选文件的全路径 SafeFileName:所选的文件名
txtPath.Text = "FileName:" + ofd.FileName + "\r\n" + "SafeFileName:" + ofd.SafeFileName;
}
}

运行结果

1.png

2.OpenFileDialog选择多个文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private void button3_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.InitialDirectory = @"C:\Users\LWP1398\Desktop"; //设置初始路径
ofd.Filter = "Excel文件(*.xls)|*.xls|Csv文件(*.csv)|*.csv|所有文件(*.*)|*.*"; //设置“另存为文件类型”或“文件类型”框中出现的选择内容
ofd.FilterIndex = 2; //设置默认显示文件类型为Csv文件(*.csv)|*.csv
ofd.Title = "打开文件"; //获取或设置文件对话框标题
ofd.RestoreDirectory = true;设置对话框是否记忆上次打开的目录

ofd.Multiselect = true;//设置多选
if (ofd.ShowDialog() == DialogResult.OK)
{
for (int i = 0; i < ofd.FileNames.Length; i++)
{
txtPath.Text += ofd.FileNames[i] + "\r\n";//输出一个路径回车换行
}
for (int i = 0; i < ofd.FileNames.Length; i++)
{
txtPath.Text += ofd.SafeFileNames[i] + "\r\n";
}
}
}

运行结果

2.png

3.SaveFileDialog

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private void button2_Click(object sender, EventArgs e)
{
SaveFileDialog sfd=new SaveFileDialog();
sfd.Filter = "文本文件(*.txt)|*.txt|所有文件|*.*";//设置文件类型
sfd.FileName = "保存";//设置默认文件名
sfd.DefaultExt = "txt";//设置默认格式(可以不设)
sfd.AddExtension = true;//设置自动在文件名中添加扩展名
if (sfd.ShowDialog()==DialogResult.OK)
{
txtPath.Text = "FileName:" + sfd.FileName + "\r\n" ;
using (StreamWriter sw = new StreamWriter(sfd.FileName))
{
sw.WriteLineAsync("今天是个好天气");
}
}
MessageBox.Show("ok");
}

运行结果

3.png

4.png

1
2
3
4
5
6
7
8
9
10
11
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
{
saveFileDialog1.AddExtension = true; //自动添加扩展名
e.Cancel = true; //取消保存操作
string 扩展名 = System.IO.Path.GetExtension(saveFileDialog1.FileName);
//判断扩展名并实现自定义的保存操作(导出)
if (扩展名 == "txt")
{ }
if (扩展名 == "xml")
{ }
}

4.FolderBrowserDialog

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
string defaultPath = "";
FolderBrowserDialog dialog = new FolderBrowserDialog();
//打开的文件夹浏览对话框上的描述
dialog.Description = "请选择一个文件夹";
//是否显示对话框左下角 新建文件夹 按钮,默认为 true
dialog.ShowNewFolderButton = false;
//首次defaultPath为空,按FolderBrowserDialog默认设置(即桌面)选择
if (defaultPath != "")
{
//设置此次默认目录为上一次选中目录
dialog.SelectedPath = defaultPath;
}
//按下确定选择的按钮
if (dialog.ShowDialog() == DialogResult.OK)
{
//记录选中的目录
defaultPath = dialog.SelectedPath;
}
MessageBox.show(defaultPath);