-
c#保存对话框SaveFileDialog
1,SaveFileDialog控件的属性Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*" FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 RestoreDirectory 控制对话框在关闭之前是否恢复当前目录 AddExtension 是否自动添加默认扩展名 CheckFileExists CheckPathExists
在对话框返回之前,检查指定路径是否存在 Container 控制在将要创建文件时,是否提示用户。只有在ValidateNames为真值时,才适用。 DefaultExt 缺省扩展名 DereferenceLinks
在从对话框返回前是否取消引用快捷方式 FileName 第一个在对话框中显示的文件或最后一个选取的文件 InitialDirector 对话框的初始目录 OverwritePrompt 控制在将要在改写现在文件时是否提示用户,只有在ValidateNames为真值时,才适用 ShowHelp 启用"帮助"按钮 Title 将显示在对话框标题栏中的字符 ValidateNames 控制对话框检查文件名中是否不含有无效的字符或序列
2、SaveFileDialog事件如下:
FileOk 当用户点击"打开"或"保存"按钮时要处理的事件 HelpRequest 当用户点击"帮助"按钮时要处理的事件
4、用下例代码可以实现
privatevoidsaveAsDialogBTN_Click(objectsender,System.EventArgse)
{
SaveFileDialogsaveFileDialog=newSaveFileDialog();
saveFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*";
saveFileDialog.FilterIndex=2;
saveFileDialog.RestoreDirectory=true;
if(saveFileDialog.ShowDialog()==DialogResult.OK)
{
if(saveFileDialog.ShowDialog()==DialogResult.OK)
{
fName=saveFileDialog.FileName;
FilefSaveAs=newFile(fName);
isFileHaveName=true;file://保存的文件有名字
fSaveAs.WriteFile(richTextBox1.Text);
}
}
}
其实这些都可以在VS.NET的IDE环境中直接完成,为了说明问题,我还是一条条列也来了。当中用到了一个File的类库,下面是源程序:
File.cs
usingSystem;
usingSystem.IO;
usingSystem.Windows.Forms;
usingSystem.Text;
namespacedialog
{
///
///SummarydescriptionforFile.
///
publicclassFile
{
stringfileName;
publicFile(stringfileName)
{
this.fileName=fileName;
}
publicstringReadFile()
{
try
{
StreamReadersr=newStreamReader(fileName,Encoding.Default);
stringresult=sr.ReadToEnd();
sr.Close();
returnresult;
}
catch(Exceptione){MessageBox.Show(e.Message);}
returnnull;
}
publicvoidWriteFile(stringstr)
{
try
{
StreamWritersw=newStreamWriter(fileName,false,Encoding.Default);
sw.Write(str);
sw.Close();
}
catch(Exceptione){MessageBox.Show(e.Message,"保存文件出错!");}
}
}
}