對話框中咱們經常使用瞭如下幾種:
一、文件對話框(FileDialog) 它又經常使用到兩個:
打開文件對話框(OpenFileDialog)
保存文件對話(SaveFileDialog)
二、字體對話框(FontDialog)
三、顏色對話框(ColorDialog)
四、打印預瀏對話框(PrintPreviewDialog)
五、頁面設置(PrintDialog)
六、打印對話框(PrintDialog)
還有更多,有時間的網友能夠看看MSDN。下面咱們一個個來介紹。在介紹的過程當中我用到了一個本身開發的類:File,主要是文件操做的。
文件對話框(FileDialog)
1、打開文件對話框(OpenFileDialog)
一、 OpenFileDialog控件有如下基本屬性html
InitialDirectory | 對話框的初始目錄 |
Filter | 要在對話框中顯示的文件篩選器,例如,"文本文件(*.txt)|*.txt|全部文件(*.*)||*.*" |
FilterIndex | 在對話框中選擇的文件篩選器的索引,若是選第一項就設爲1 |
RestoreDirectory | 控制對話框在關閉以前是否恢復當前目錄 |
FileName | 第一個在對話框中顯示的文件或最後一個選取的文件 |
Title | 將顯示在對話框標題欄中的字符 |
AddExtension | 是否自動添加默認擴展名 |
CheckPathExists | 在對話框返回以前,檢查指定路徑是否存在 |
DefaultExt | 默認擴展名 |
DereferenceLinks | 在從對話框返回前是否取消引用快捷方式 |
ShowHelp | 啓用"幫助"按鈕 |
ValiDateNames | 控制對話框檢查文件名中是否不含有無效的字符或序列 |
二、 OpenFileDialog控件有如下經常使用事件編程
FileOk | 當用戶點擊"打開"或"保存"按鈕時要處理的事件 |
HelpRequest | 當用戶點擊"幫助"按鈕時要處理的事件 |
三、OpenFileDialog的效果以下:windows
能夠用如下代碼來實現上面這個對話框:網絡
其中有用到了File()這個類,是我在程序用來執行文件操做,本身寫的,在最後附了這個類的源碼。有興趣的網友能夠本身分析。字體
2、保存文件對話框(SaveFileDialog)
保存文件對話框控件有兩種狀況,一就是保存,二就是另存爲,保存很簡單,就是在文件已經打開的狀況下的,再把文件寫一篇,在這裏咱們主要講另存爲 的狀況(SaveAs)。
1,SaveFileDialog控件的屬性this
Filter | 要在對話框中顯示的文件篩選器,例如,"文本文件(*.txt)|*.txt|全部文件(*.*)|*.*" |
FilterIndex | 在對話框中選擇的文件篩選器的索引,若是選第一項就設爲1 |
RestoreDirectory | 控制對話框在關閉以前是否恢復當前目錄 |
AddExtension | 是否自動添加默認擴展名 |
CheckFileExists | |
CheckPathExists | 在對話框返回以前,檢查指定路徑是否存在 |
Container | 控制在將要建立文件時,是否提示用戶。只有在ValidateNames爲真值時,才適用。 |
DefaultExt | 缺省擴展名 |
DereferenceLinks | 在從對話框返回前是否取消引用快捷方式 |
FileName | 第一個在對話框中顯示的文件或最後一個選取的文件 |
InitialDirector | 對話框的初始目錄 |
OverwritePrompt | 控制在將要在改寫如今文件時是否提示用戶,只有在ValidateNames爲真值時,才適用 |
ShowHelp | 啓用"幫助"按鈕 |
Title | 將顯示在對話框標題欄中的字符 |
ValidateNames | 控制對話框檢查文件名中是否不含有無效的字符或序列 |
二、SaveFileDialog事件以下:
url
FileOk | 當用戶點擊"打開"或"保存"按鈕時要處理的事件 |
HelpRequest | 當用戶點擊"幫助"按鈕時要處理的事件 |
三、SaveFileDialog的效果以下:spa
四、用下例代碼能夠實現.net
其實這些均可以在VS.NET的IDE環境中直接完成,爲了說明問題,我仍是一條條列也來了。當中用到了一個File的類庫,下面是源程序:
File.csorm
字體對話框(FontDialog)
在文字處理中,咱們經常使用到字體,如今咱們來作一個最多見的字體對話框。
1、 字體對話框(FontDialog)經常使用屬性
ShowColor | 控制是否顯示顏色選項 |
AllowScriptChange | 是否顯示字體的字符集 |
Font | 在對話框顯示的字體 |
AllowVerticalFonts | 是否可選擇垂直字體 |
Color | 在對話框中選擇的顏色 |
FontMustExist | 當字體不存在時是否顯示錯誤 |
MaxSize | 可選擇的最大字號 |
MinSize | 可選擇的最小字號 |
ScriptsOnly | 顯示排除OEM和Symbol字體 |
ShowApply | 是否顯示"應用"按鈕 |
ShowEffects | 是否顯示下劃線、刪除線、字體顏色選項 |
ShowHelp | 是否顯示"幫助"按鈕 |
2、 字體對話框(FontDialog)的事件
Apply | 當點擊"應用"按鈕時要處理的事件 |
HelpRequest | 當點擊"幫助"按鈕時要處理的事件 |
3、 字體對話框(FontDialog)的效果
4、 實現代碼
上面代碼將選定的文本設置爲當前FontDialog對話框中的字體。
顏色對話框(ColorDialog)
顏色拾取框也是咱們常見的對話框之一,下面咱們來看看在C#中是如何操做顏色對話框的呢?
1、 顏色對話框(ColorDialog)的常見屬性
AllowFullOpen | 禁止和啓用"自定義顏色"按鈕 |
FullOpen | 是否最早顯示對話框的"自定義顏色"部份 |
ShowHelp | 是否顯示"幫助"按鈕 |
Color | 在對話框中顯示的顏色 |
AnyColor | 顯示可選擇任何顏色 |
CustomColors | 是否顯示自定義顏色 |
SolidColorOnly | 是否只能選擇純色 |
2、 顏色對話框(ColorDialog)的效果以下:
3、 實現代碼見下:
實現顏色對話框(ColorDialog)很容易吧,其實不僅是顏色對話框,C#也是很容易的,只要用心去學,都容易的。講完了顏色對話框(ColorDialog),咱們 來說打印和頁面設置.
頁面設置(PageSetupDialog) 其實頁面設置(PageSetupDialog)沒有太多的講,既然講到這裏,我仍是把PageSetupDialog中經常使用的屬性列出來吧 1、頁面設置(PageSetupDialog)常見屬性
2、面設置(PageSetupDialog)的效果以下 就這麼簡單啦,咱們看看下面的吧,還有更重磅的東東呢?關於打印的。 打印預瀏及打印 一, 在.net環境中,說到打印,就不能不說PrintDocumet這個類,PrintDocument屬於System.Drawing.Printing這個名字空間,PrintDocument這個類是 實現打印的核心代碼。
void printDocument_PrintPage(o b j e c t sender, System.Drawing.Printing.PrintPageEventArgs e)
//頁面的行號 float yPos=0;//打印字符串的縱向位置 int count=0;//行計數器 float leftMargin =e.MarginBounds.Left;//左邊距 float topMargin=e.MarginBounds.Top;//上邊距 string line=null;//行字符串 Color clr=richTextBox1.SelectionColor;//當前的打印顏色,在我這個程序沒有實現不一樣顏色打印 SolidBrush b =new SolidBrush(clr);//刷子 fnt=richTextBox1.SelectionFont;//當前的打印字體 linesPerPage=e.MarginBounds.Height/fnt.GetHeight(e.Graphics);//每頁可打印的行數 file://逐行循行打印一頁 while(count e.Graphics.DrawString(line,fnt,b,leftMargin,yPos,new StringFormat()); count++; } file://若是該頁打印完成而line不爲空說明還有沒完成的頁面,發出下一次的打印事件, file://在下一次的打印中lineReader會自動讀取上次沒有打印完的內容。lineReader能夠記錄當前讀取的位置 if(line!=null) e.HasMorePages=true; else e.HasMorePages=false; } 在這裏能夠完成整個打印任務。把printDocument_PrintPage構造好後,就能夠打印和打印預瀏。 2、打印預瀏對話框(PrintPreviewDialog) 打印預瀏對話框沒有太多的屬性,最後經過ShowDialog()調用。上面的實現代碼以下:
void printPreviewBTN_Click(o b j e c t sender, System.EventArgs e)
new StringReader(richTextBox1.Text); try new PrintPreviewDialog(); printPreviewDialog1.Document=printDocument; printPreviewDialog1.FormBorderStyle=FormBorderStyle.Fixed3D; printPreviewDialog1.ShowDialog(this); } catch(Exception excep) return; } } 很簡單的,只要你把PrintDocument_PrintPage()寫好了,這裏就很容易了。 3、打印對話框(PrintDialog)
二、效果以下: 三、用以下代碼來實現:
void printDialogBTN_Click(o b j e c t sender, System.EventArgs e)
new PrintDialog(); printDialog.Document=printDocument; if(printDialog.ShowDialog()!=DialogResult.Cancel) { printDocument.Print(); } catch(Exception ex) } } } |