對話框中我們常用了以下幾種:
1、文件對話框(FileDialog) 它又常用到兩個:
打開文件對話框(OpenFileDialog)
保存文件對話(SaveFileDialog)
2、字體對話框(FontDialog)
3、顏色對話框(ColorDialog)
4、打印預瀏對話框(PrintPreviewDialog)
5、頁面設置(PrintDialog)
6、打印對話框(PrintDialog)
還有更多,有時間的網友可以看看MSDN。下面我們一個個來介紹。在介紹的過程中我用到了一個自己開發的類:File,主要是文件操作的。
文件對話框(FileDialog)
一、打開文件對話框(OpenFileDialog)
1、 OpenFileDialog控件有以下基本屬性
InitialDirectory | 對話框的初始目錄 |
Filter | 要在對話框中顯示的文件篩選器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*" |
FilterIndex | 在對話框中選擇的文件篩選器的索引,如果選第一項就設爲1 |
RestoreDirectory | 控制對話框在關閉之前是否恢復當前目錄 |
FileName | 第一個在對話框中顯示的文件或最後一個選取的文件 |
Title | 將顯示在對話框標題欄中的字符 |
AddExtension | 是否自動添加默認擴展名 |
CheckPathExists | 在對話框返回之前,檢查指定路徑是否存在 |
DefaultExt | 默認擴展名 |
DereferenceLinks | 在從對話框返回前是否取消引用快捷方式 |
ShowHelp | 啓用"幫助"按鈕 |
ValiDateNames | 控制對話框檢查文件名中是否不含有無效的字符或序列 |
2、 OpenFileDialog控件有以下常用事件
FileOk | 當用戶點擊"打開"或"保存"按鈕時要處理的事件 |
HelpRequest | 當用戶點擊"幫助"按鈕時要處理的事件 |
3、OpenFileDialog的效果如下:
可以用以下代碼來實現上面這個對話框:
private void openFileDialogBTN_Click(object sender, System.EventArgs e){ OpenFileDialog openFileDialog=new OpenFileDialog(); openFileDialog.InitialDirectory="c:\\";//注意這裏寫路徑時要用c:\\而不是c:\ openFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*"; openFileDialog.RestoreDirectory=true; openFileDialog.FilterIndex=1; if (openFileDialog.ShowDialog()==DialogResult.OK) { fName=openFileDialog.FileName; File fileOpen=new File(fName); isFileHaveName=true; richTextBox1.Text=fileOpen.ReadFile(); richTextBox1.AppendText(""); } } |
其中有用到了File()這個類,是我在程序用來執行文件操作,自己寫的,在最後附了這個類的源碼。有興趣的網友可以自己分析。
二、保存文件對話框(SaveFileDialog)
保存文件對話框控件有兩種情況,一就是保存,二就是另存爲,保存很簡單,就是在文件已經打開的情況下的,再把文件寫一篇,在這裏我們主要講另存爲的情況(SaveAs)。
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 | 當用戶點擊"幫助"按鈕時要處理的事件 |
3、SaveFileDialog的效果如下:
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; namespace dialog public string ReadFile() public void WriteFile(string str) |