對話框中我們常用了以下幾種:
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(o b j e c t 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(o b j e c t 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,"保存文件出錯!");}
}
}
}
字體對話框(FontDialog)
在文字處理中,我們常用到字體,現在我們來做一個最常見的字體對話框。
一、 字體對話框(FontDialog)常用屬性
ShowColor 控制是否顯示顏色選項
AllowScriptChange 是否顯示字體的字符集
Font 在對話框顯示的字體
AllowVerticalFonts 是否可選擇垂直字體
Color 在對話框中選擇的顏色
FontMustExist 當字體不存在時是否顯示錯誤
MaxSize 可選擇的最大字號
MinSize 可選擇的最小字號
ScriptsOnly 顯示排除OEM和Symbol字體
ShowApply 是否顯示"應用"按鈕
ShowEffects 是否顯示下劃線、刪除線、字體顏色選項
ShowHelp 是否顯示"幫助"按鈕
二、 字體對話框(FontDialog)的事件
Apply 當點擊"應用"按鈕時要處理的事件
HelpRequest 當點擊"幫助"按鈕時要處理的事件
三、 字體對話框(FontDialog)的效果
四、 實現代碼
private void fontDialogBTN_Click(o b j e c t sender, System.EventArgs e)
{
FontDialog fontDialog=new FontDialog();
fontDialog.Color=richTextBox1.ForeColor;
fontDialog.AllowScriptChange=true;
fontDialog.ShowColor=true;
if(fontDialog.ShowDialog()!=DialogResult.Cancel)
{
richTextBox1.SelectionFont=fontDialog.Font;//將當前選定的文字改變字體
}
}
上面代碼將選定的文本設置為當前FontDialog對話框中的字體。
顏色對話框(ColorDialog)
顏色拾取框也是我們常見的對話框之一,下面我們來看看在C#中是如何操作顏色對話框的呢?
一、 顏色對話框(ColorDialog)的常見屬性
AllowFullOpen 禁止和啟用"自定義顏色"按鈕
FullOpen 是否最先顯示對話框的"自定義顏色"部份
ShowHelp 是否顯示"幫助"按鈕
Color 在對話框中顯示的顏色
AnyColor 顯示可選擇任何顏色
CustomColors 是否顯示自定義顏色
SolidColorOnly 是否只能選擇純色
二、 顏色對話框(ColorDialog)的效果如下:
三、 實現代碼見下:
private void colorDialogBTN_Click(o b j e c t sender, System.EventArgs e)
{
ColorDialog colorDialog=new ColorDialog();
colorDialog.AllowFullOpen=true;
colorDialog.FullOpen=true;
colorDialog.ShowHelp=true;
colorDialog.Color=Color.Black;//初始化當前文本