轉Visual c#對話方塊(一)

來源:互聯網
上載者:User
  查看文章  
轉Visual c#對話方塊(一)2008-04-29 23:45
對話方塊中我們常用了以下幾種:
  1、檔案對話方塊(FileDialog) 它又常用到兩個:
    開啟檔案對話方塊(OpenFileDialog)
    儲存檔案對話(SaveFileDialog)
  2、字型對話方塊(FontDialog)
  3、顏色對話方塊(ColorDialog)
  4、列印預瀏對話方塊(PrintPreviewDialog)
  5、版面設定(PrintDialog)
  6、列印對話方塊(PrintDialog)
  還有更多,參考MSDN。
  檔案對話方塊(FileDialog)

  一、開啟檔案對話方塊(OpenFileDialog)

  1、 OpenFileDialog控制項有以下基本屬性

InitialDirectory 對話方塊的初始目錄 Filter 要在對話方塊中顯示的檔案篩選器,例如,"文字檔(*.txt)|*.txt|所有檔案(*.*)||*.*" FilterIndex 在對話方塊中選擇的檔案篩選器的索引,如果選第一項就設為1 RestoreDirectory 控制對話方塊在關閉之前是否恢複目前的目錄 FileName 第一個在對話方塊中顯示的檔案或最後一個選取的檔案 Title 將顯示在對話方塊標題列中的字元 AddExtension 是否自動添加預設副檔名 CheckPathExists
在對話方塊返回之前,檢查指定路徑是否存在 DefaultExt 預設副檔名 DereferenceLinks 在從對話方塊返回前是否取值 (Dereference)捷徑 ShowHelp
啟用"協助"按鈕 ValiDateNames 控制對話方塊檢查檔案名稱中是否不含有無效的字元或序列

  2、 OpenFileDialog控制項有以下常用事件

FileOk 當使用者點擊"開啟"或"儲存"按鈕時要處理的事件 HelpRequest 當使用者點擊"協助"按鈕時要處理的事件

 

  可以用以下代碼來實現上面這個對話方塊:

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
在從對話方塊返回前是否取值 (Dereference)捷徑 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

您正在看的C#.NET教程是:Visual C# 對話方塊全接觸。/// 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 當點擊"協助"按鈕時要處理的事件

 

  四、 實現代碼

private void fontDialogBTN_Click(object 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 是否只能選擇純色

 

  三、 實現代碼見下:

private void colorDialogBTN_Click(object sender, System.EventArgs e)
{
ColorDialog colorDialog=new ColorDialog();
colorDialog.AllowFullOpen=true;
colorDialog.FullOpen=true;
colorDialog.ShowHelp=true;
colorDialog.Color=Color.Black;//初始化當前文字框中的字型顏色,當使用者在ColorDialog對話方塊中點擊"取消"按鈕
file://恢複原來的值
colorDialog.ShowDialog();
richTextBox1.SelectionColor=colorDialog.Color;
}

  實現顏色對話方塊(ColorDialog)很容易吧,其實不只是顏色對話方塊,C#也是很容易的,只要用心去學,都容易的。講完了顏色對話方塊(ColorDialog),我們來講列印和版面設定.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.