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

C#模式窗體詳解(2)

編輯:關於C語言

模式窗體中的按鈕

模式窗體中(比如visual studio 2005中的“選項”對話框)一般會有兩個基本按鈕,一個[確定]按鈕用來提交,另一個[取消]按鈕用來撤銷提交,有時候會增加一個[應用]按鈕,不過像“幫助”菜單中的“關於”模式窗體可能就只有一個[確定]按鈕。Windows窗體為用戶操作友好性提供了比較好的支持。我們可以在Form設計界面的屬性設置中找到AcceptButton和CancelButton兩個屬性,默認值為空即顯示(無)。在屬性中可以通過選擇窗體上的按鈕來設置值。屬性修改生成的代碼如下。

先定義兩個Button,

private System.Windows.Forms.Button buttonOK;
private System.Windows.Forms.Button buttonCancel;

窗體的“接受”按鈕。如果設置了此按鈕,則用戶每次按“Enter”鍵都相當於“單擊”了該按鈕。

this.AcceptButton=this.buttonOK;

窗體的“取消”按鈕。如果設置了此按鈕,則用戶每次按“Esc”鍵都相當於“單擊”了該按鈕。

this.CancelButton = this.buttonCancel;

可見可以通過快捷鍵來方便的訪問特定按鈕,但這個有一些例外,比如窗體焦點剛好在buttonCancel上,當按{Enter}時實際按下的鍵會是buttonCancel而不是buttonOK,如果焦點停在第三個按鈕上,那{Enter}按下相當於點擊了該按鈕。另一個細節是通過鼠標點擊按鈕和快捷鍵操作按鈕的表現行為不一樣,快捷鍵操作Button不會顯示按鈕被按下的顯示效果,看上去什麼都沒有發生。

模式窗體的打開與關閉

談到模式窗體的打開,一般通過Form.ShowDialog ()方法或她的一個重載Form.ShowDialog (IWin32Window)來實現,其中後一個方法將窗體顯示為具有指定所有者的模式對話框。如下代碼所示,

OptionForm form = new OptionForm();
//form.ShowDialog();
form.ShowDialog(this);

對於指定所有者方式打開的模式窗體可以在模式窗體內部獲取主窗體的引用,

//在模式窗體內部訪問所屬窗體
MainForm form=this.Owner as MainForm;

注意,如果以Form.ShowDialog ()方式打開,那Form.Owner屬性會是空引用。

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