Winform開發框架之同化對話框樣式
早在《》隨筆中,就集成了三種界面樣式的分頁控件,后來也就形成了我三種不同的Winform開發框架界面樣式。
1)基于傳統經典模式的界面,采用了OutLookBar工具條以及鼎鼎有名的Weifengluo多文檔布局控件,集成了分頁控件、使用基于Apose.Cell控件的自定義報表等功能,能適應大多數業務系統的引用。框架數據編輯界面、普通查詢窗體界面均采用窗體集成模式,簡化開發代碼,提高窗體開發效率以及統一界面的一致性。
2)在基于傳統經典模式的Winform框架基礎上,引入DotNetBar優秀的界面組件,對界面的樣式,布局均由很大程度的提升。工具欄統一集中放置在Ribbon工具條上,可以折疊分組等,另外也支持多文檔的界面操作,非常方便和美觀。
3)基于DevExpress界面設計也在基于傳統經典模式的Winform框架基礎上,引入DotNet最為優秀的界面組件DevExpress,對界面布局、樣式等模塊提升到一個極高的高度,同時提供該樣式的分頁控件,使得整合更加***。
介紹三種框架的布局及大致樣式后,言歸正傳,介紹在Winform開發中,經常用到的對話框操作的封裝,一般的對話框操作,包括有各種不同的方式,傳統方式如下所示。
以上圖片是Win7的效果,XP或者2000下基本上是灰頭土臉的效果,如果但在不同的界面樣式中,就不能一直用MessageBox.Show這個方法了,因為不同的界面樣式提供了不同的對話框封裝操作。下面分別介紹基于傳統方式、基于DotNetBar界面控件方式、基于DevExpress界面樣式方式,三種方式的對話框處理封裝類。
1)、傳統方式的對話框處理封裝類代碼如下
- public class MessageUtil
- {
- /// <summary> /// 顯示一般的提示信息
- /// </summary> /// <param name="message">提示信息</param>
- public static DialogResult ShowTips(string message)
- {
- return MessageBox.Show(message, "提示信息",MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- /// <summary> /// 顯示警告信息
- /// </summary> /// <param name="message">警告信息</param>
- public static DialogResult ShowWarning(string message)
- {
- return MessageBox.Show(message, "警告信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- /// <summary> /// 顯示錯誤信息
- /// </summary> /// <param name="message">錯誤信息</param>
- public static DialogResult ShowError(string message)
- {
- return MessageBox.Show(message, "錯誤信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- /// <summary> /// 顯示詢問用戶信息,并顯示錯誤標志
- /// </summary> /// <param name="message">錯誤信息</param>
- public static DialogResult ShowYesNoAndError(string message)
- {
- return MessageBox.Show(message, "錯誤信息", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
- }
- /// <summary> /// 顯示詢問用戶信息,并顯示提示標志
- /// </summary> /// <param name="message">錯誤信息</param>
- public static DialogResult ShowYesNoAndTips(string message)
- {
- return MessageBox.Show(message, "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
- }
- /// <summary> /// 顯示詢問用戶信息,并顯示警告標志
- /// </summary> /// <param name="message">警告信息</param>
- public static DialogResult ShowYesNoAndWarning(string message)
- {
- return MessageBox.Show(message, "警告信息", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
- }
- /// <summary> /// 顯示詢問用戶信息,并顯示提示標志
- /// </summary> /// <param name="message">錯誤信息</param>
- public static DialogResult ShowYesNoCancelAndTips(string message)
- {
- return MessageBox.Show(message, "提示信息", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
- }
- /// <summary> /// 顯示一個YesNo選擇對話框
- /// </summary> /// <param name="prompt">對話框的選擇內容提示信息</param> /// <returns>如果選擇Yes則返回true,否則返回false</returns>
- public static bool ConfirmYesNo(string prompt)
- {
- return MessageBox.Show(prompt, "確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes;
- }
- /// <summary> /// 顯示一個YesNoCancel選擇對話框
- /// </summary> /// <param name="prompt">對話框的選擇內容提示信息</param> /// <returns>返回選擇結果的的DialogResult值</returns>
- public static DialogResult ConfirmYesNoCancel(string prompt)
- {
- return MessageBox.Show(prompt, "確認", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
- }
- }
2 )DotNetBar樣式中對話框處理封裝類如下所示
- public class MessageExUtil
- {
- /// <summary> /// 顯示一般的提示信息
- /// </summary> /// <param name="message">提示信息</param>
- public static DialogResult ShowTips(string message)
- {
- return MessageBoxEx.Show(message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- /// <summary> /// 顯示警告信息
- /// </summary> /// <param name="message">警告信息</param>
- public static DialogResult ShowWarning(string message)
- {
- return MessageBoxEx.Show(message, "警告信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- /// <summary> /// 顯示錯誤信息
- /// </summary> /// <param name="message">錯誤信息</param>
- public static DialogResult ShowError(string message)
- {
- return MessageBoxEx.Show(message, "錯誤信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- /// <summary> /// 顯示詢問用戶信息,并顯示錯誤標志
- /// </summary> /// <param name="message">錯誤信息</param>
- public static DialogResult ShowYesNoAndError(string message)
- {
- return MessageBoxEx.Show(message, "錯誤信息", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
- }
- /// <summary> /// 顯示詢問用戶信息,并顯示提示標志
- /// </summary> /// <param name="message">錯誤信息</param>
- public static DialogResult ShowYesNoAndTips(string message)
- {
- return MessageBoxEx.Show(message, "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
- }
- /// <summary> /// 顯示詢問用戶信息,并顯示警告標志
- /// </summary> /// <param name="message">警告信息</param>
- public static DialogResult ShowYesNoAndWarning(string message)
- {
- return MessageBoxEx.Show(message, "警告信息", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
- }
- /// <summary> /// 顯示詢問用戶信息,并顯示提示標志
- /// </summary> /// <param name="message">錯誤信息</param>
- public static DialogResult ShowYesNoCancelAndTips(string message)
- {
- return MessageBoxEx.Show(message, "提示信息", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
- }
- }
3)DevExpress樣式中對話框處理封裝類如下所示
- public class MessageDxUtil
- {
- /// <summary> /// 顯示一般的提示信息
- /// </summary> /// <param name="message">提示信息</param>
- public static DialogResult ShowTips(string message)
- {
- return DevExpress.XtraEditors.XtraMessageBox.Show(message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- /// <summary> /// 顯示警告信息
- /// </summary> /// <param name="message">警告信息</param>
- public static DialogResult ShowWarning(string message)
- {
- return DevExpress.XtraEditors.XtraMessageBox.Show(message, "警告信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- /// <summary> /// 顯示錯誤信息
- /// </summary> /// <param name="message">錯誤信息</param>
- public static DialogResult ShowError(string message)
- {
- return DevExpress.XtraEditors.XtraMessageBox.Show(message, "錯誤信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- /// <summary> /// 顯示詢問用戶信息,并顯示錯誤標志
- /// </summary> /// <param name="message">錯誤信息</param>
- public static DialogResult ShowYesNoAndError(string message)
- {
- return DevExpress.XtraEditors.XtraMessageBox.Show(message, "錯誤信息", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
- }
- /// <summary> /// 顯示詢問用戶信息,并顯示提示標志
- /// </summary> /// <param name="message">錯誤信息</param>
- public static DialogResult ShowYesNoAndTips(string message)
- {
- return DevExpress.XtraEditors.XtraMessageBox.Show(message, "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
- }
- /// <summary> /// 顯示詢問用戶信息,并顯示警告標志
- /// </summary> /// <param name="message">警告信息</param>
- public static DialogResult ShowYesNoAndWarning(string message)
- {
- return DevExpress.XtraEditors.XtraMessageBox.Show(message, "警告信息", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
- }
- /// <summary> /// 顯示詢問用戶信息,并顯示提示標志
- /// </summary> /// <param name="message">錯誤信息</param>
- public static DialogResult ShowYesNoCancelAndTips(string message)
- {
- return DevExpress.XtraEditors.XtraMessageBox.Show(message, "提示信息", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
- }
- }
三個不同的對話框封裝類,專門為不同的Winform界面樣式服務,接口一樣,返回的對話框結果一樣,簡化了對這些常用的操作封裝的同時,也使得界面的整體性達到更一致,用戶體驗更好,否則在漂亮的DevExpress界面效果中,突然彈出一個灰頭土臉的對話框提示信息,甚是大煞風景,給使用者不好的印象。
以上是我在我的三種界面樣式的Winform開發框架中常用到的類,希望對大家有所幫助,并能在具體的項目中應用,有時間就推薦一下,在此感謝大家支持。
原文鏈接:http://www.cnblogs.com/cbcye/archive/2012/01/08/2316514.html
【編輯推薦】