利用SaveFileDialog控件实现程序的“另存为"功能。
示例代码如下
(1)在Visual Studio中创建一个“Windows 窗体应用程序”项目
(2)如下图在Form1设计器上布置控件
设置openFileDialog1的属性:
设置saveFileDialog1的属性:
(3)窗体代码Form1.cs
using System;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
label1.Text = string.Empty;
button1.Text = "打开文件...";
// 禁用"文件另存为..."按钮,因为还没有打开文件
button2.Text = "文件另存为...";
button2.Enabled = false;
}
private void button1_Click(object sender, EventArgs e)
{
// 显示打开文件对话框
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
// 读入文件并显示在textBox1中
textBox1.Clear();
string[] allLines = File.ReadAllLines(openFileDialog1.FileName);
foreach (string s in allLines)
{
textBox1.AppendText(s + Environment.NewLine);
}
// 显示被打开文件的路径和名称
label1.Text = openFileDialog1.FileName;
// 允许 "文件另存为..."按钮
button2.Enabled = true;
}
}
private void button2_Click(object sender, EventArgs e)
{
// 为保存文件提供默认的文件名
string fileName = Path.GetFileName(label1.Text);
saveFileDialog1.FileName =
saveFileDialog1.InitialDirectory + "\\" + fileName;
saveFileDialog1.Title = "另存为";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
// 保存文件
File.WriteAllLines(saveFileDialog1.FileName, textBox1.Lines);
// 显示文件的路径和名称
label1.Text = saveFileDialog1.FileName;
}
}
}
}
(4)运行
启动后
打开文件...
打开文件后
另存为
OpenFileDialog open = new OpenFileDialog(); //创建一个打开对话框
open.AddExtension = true; //设置是否自动在文件中添加扩展名
open.CheckFileExists = true; //检查文件
open.Filter = "MP3文件 (*.mp3)|*.mp3|所有文件 (*.*)|*.*"; //设置要打开的类型为mp3和任意文件
//string a="";
if (open.ShowDialog() == DialogResult.OK) //如果用户点击了“确定”
{
SaveFileDialog控件,设置默认文件名是FileName属性,设置初始路径是InitialDirectory属性。