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、用下例代碼可以實現
private void saveAsDialogBTN_Click(object sender, System.EventArgs e)
{
SaveFileDialog saveFileDialog=new SaveFileDialog();
saveFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*";
saveFileDialog.FilterIndex=2;
saveFileDialog.RestoreDirectory=true;
if(saveFileDialog.ShowDialog()==DialogResult.OK)
{
if(saveFileDialog.ShowDialog()==DialogResult.OK)
{
fName=saveFileDialog.FileName;
File fSaveAs=new File(fName);
isFileHaveName=true; file://保存的文件有名字
fSaveAs.WriteFile(richTextBox1.Text);
}
}
}
其實這些都可以在VS.NET的IDE環境中直接完成,為了說明問題,我還是一條條列也來了。當中用到了一個File的類庫,下面是源程序:
File.cs
using System;
using System.IO;
using System.Windows.Forms;
using System.Text;
namespace dialog
{
///
/// Summary description for File.
///
public class File
{
string fileName;
public File(string fileName)
{
this.fileName=fileName;
}
public string ReadFile()
{
try
{
StreamReader sr=new StreamReader(fileName,Encoding.Default);
string result=sr.ReadToEnd();
sr.Close();
return result;
}
catch(Exception e){MessageBox.Show(e.Message);}
return null;
}
public void WriteFile(string str)
{
try
{
StreamWriter sw=new StreamWriter(fileName,false,Encoding.Default);
sw.Write(str);
sw.Close();
}
catch(Exception e){MessageBox.Show(e.Message,"保存文件出錯!");}
}
}
}