概述
何謂模式窗體?簡單的可以理解為窗體對話框,用戶必須在完成該窗體上的操作或關閉窗體後才能返回打開此窗體的窗體。本文不對模式窗體的定義、特征、功能做具體討論,主要把重點放在如何在.Net窗體應用程序中有效的使用模式窗體,解決使用模式窗體中碰到的常見問題。
模式窗體的屬性設置
在.Net中一個System.Windows.Forms.Form類就表示一個窗體,通過visual studio 2005設計器能夠直接添加窗體,切換到設計模式,在屬性窗口中會顯示屬於該窗體的屬性和事件。參照標准的模式窗體,以visual studio 2005程序的菜單工具->選項打開的那個選項對話框為例,對於設計器初始化的窗體還是需要進行一番設置才能達到專業化。令人高興的是這些設置都可以在設計器模式中通過屬性設置實現,筆者將通過代碼來實現相應功能,下面對其進行詳細描述。
Form.StartPosition屬性,確定窗體第一次出現時的位置。這裡設置為在父窗體的中間顯示。this.StartPosition = FormStartPosition.CenterParent;
Form.HelpButton屬性,確定窗體的標題欄上是否有“幫助”按鈕。設置顯示,看上去更人性化,但實際不一定會對幫助功能進行實現。
this.HelpButton = true;
Form.MaximizeBox屬性,確定窗體標題欄的右上角是否有最大化框。設置不讓她顯示。
this.MaximizeBox = false;
Form.MinimizeBox屬性,確定窗體標題欄的右上角是否有最小化框。設置不讓他顯示。
this.MinimizeBox = false;
Form.ShowIcon屬性,指示是否在窗體的標題欄中顯示圖標。設置不顯示。
this.ShowIcon = false;
Form.ShowInTaskbar屬性,確定窗體是否出現在Windows任務欄中。這個當然要節省任務欄的寶貴空間。
this.ShowInTaskbar = false;
Form.FormBorderStyle屬性,指示窗體的邊框和標題欄的外觀和行為。設置這個屬性將不允許拖動調整窗體的大小,同時Icon屬性將失效,並不顯示窗體標題欄圖片。
this.FormBorderStyle = FormBorderStyle.FixedDialog;
Form.ControlBox屬性,確定窗體是否有“控件/系統”菜單框。通過該設置可以隱藏標題欄的控制按鈕。在有些時候還是有必要設置為False,標題欄就不會再有控制按鈕。
this.ControlBox = false;
通過對以上屬性的設置,基本實現模式窗體的靜態功能。對於是否允許調整窗體的大小可根據實際情況而定。