在.Net 中使用Windows Form 建立Dialog

首先Creater a new form
設定
  • FromBorderStyle = FixedDialog;
  • MaximizeBox = False;
  • MinimizeBox = False;
這樣基本上可以得到一個具有常見樣式的對話盒
在應用程式中,一個良好設計的對話盒是針對某一設定或是某一問題選擇,因此常見有"確認(OK)"與"取消(Cancel)"兩個按鍵,除了可以透過Mouse Click 外,一般直接按下"Enter Key"與"Esc Key"也可以達成,想要達成這一功能不需要去特別攔截Keyboard Event判斷。
在Form的Misc屬性中有提供 AcceptButtonCancelButton,直接設定成為對應的Button物件即可。如下圖所示
設定AcceptButton與CancelButton
實際執行畫面如下
執行畫面
唯一需要注意的是在Form畫面中的控制項 不能含有處理 Enter Key 的控制項,例如"TextEdit"是一個多行的編輯器,當按下Enter 會認為是要新增一行,而不會結束對話盒。
 
而對話盒結束可以由 DialogResult 的值判斷,對話盒是怎樣結束的;簡便的方法是將Button Behavior/DialogResult賦予值
btnOK.DialogResult = DialogResult.OK;
btnCancel.DialogResult = DialogResult.Cancel;
 
在怎樣讓上面的定義好的Dialog 變成一個Modal Dialog並且得知執行的結果呢?
使用下面的程式碼即可(假設其定義為myDialog)
 
myDialog dialog = new myDialog();
if  (DialogResult.OK == myDialog.ShowDialog())
{
        // Press OK Button
        ….
}
廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: