程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#模式窗體詳解(4)

C#模式窗體詳解(4)

編輯:關於C語言

上面的代碼都正常,就是事件寫多了,對上面代碼進行修改,去掉[取消]按鈕事件和窗體關閉事件以及相關的事件處理程序。首先需要在窗體構造函數中通過設置按鈕的DialogResult屬性來實現返回特定的DialogResult。

this.buttonOK.DialogResult=System.Windows.Forms.DialogResult.OK;
this.buttonCancel.DialogResult=System.Windows.Forms.DialogResult.Cancel;

注冊確定按鈕事件,

//注冊確定按鈕事件
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
//確定按鈕處理程序
private void buttonOK_Click(object sender, EventArgs e)
{
 if (this.textBoxPath.Text.Trim().Length == 0)
 {
   MessageBox.Show(輸入的路徑信息不對!);
   this.textBoxPath.Focus();
   //設置文本框焦點
   this.DialogResult = DialogResult.None;
 }
}

可見,新的實現方式代碼減少了一半。

.Net Framework提供的模式窗體

.Net Framework為我們提供了一些比較常用的對話框,在開發過程中省了不少事,以下對其進行介紹。

MessageBox。顯示可包含文本、按鈕和符號(通知並指示用戶)的消息框。通過MessageBox.Show 靜態方法來打開模式對話框。

public static DialogResult Show ( string text );

該方法包含多個重載版本。復雜的一個方法如下,

public static DialogResult Show ( IWin32Window owner, string text,
string caption, MessageBoxButtons buttons, MessageBoxIcon icon,
MessageBoxDefaultButton defaultButton, MessageBoxOptions options,
string helpFilePath, HelpNavigator navigator, Object param ) ;

根據不同的參數可以定制對話框的行為。

另外一些對話框提供了特定功能。

OpenFileDialog。打開文件對話框,從FileDialog類繼承,提示用戶打開文件,無法繼承此類。對於文件的打開操作屬於比較常見的。

SaveFileDialog。保存文件對話框,從FileDialog類繼承,提示用戶選擇文件的保存位置。無法繼承此類。

FolderBrowserDialog。目錄浏覽對話框,從CommonDialog類繼承,提示用戶選擇文件夾。無法繼承此類。 FontDialog。字體設置對話框,從CommonDialog類繼承,提示用戶從本地計算機上安裝的字體中選擇一種字體。可繼承該類。

ColorDialog。顏色設置對話框,從CommonDialog類繼承,表示一個通用對話框,該對話框顯示可用的顏色以及允許用戶定義自定義顏色的控件。可繼承該類。

PageSetupDialog。打印頁面設置對話框,從CommonDialog類繼承,允許用戶更改與頁面相關的打印設置,包括邊距和紙張方向。無法繼承此類。

PrintDialog。打印對話框,從CommonDialog類繼承,允許用戶選擇一台打印機並選擇文檔中要打印的部分。無法繼承此類。

PrintPreviewDialog。打印預覽對話框,從Form類繼承,表示包含 PrintPrevIEwControl 的對話框窗體。可繼承該類。由於該類從Form類繼承,所以除了通過

PrintPrevIEwDialog.ShowDialog ();

PrintPrevIEwDialog.ShowDialog (IWin32Window);

方法以模式方式打開窗體外,還可以通過PrintPrevIEwDialog.Show ();

或其重載PrintPrevIEwDialog.Show (IWin32Window);方法按正常非模式方式打開。

上面列舉的文件對話框抽象基類FileDialog是從CommonDialog抽象類繼承,因此所有從該類繼承的對話框都可以通過CommonDialog.ShowDialog ();或其重載CommonDialog.ShowDialog (IWin32Window);方法以模式方式打開窗體。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved