自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Winform開發(fā)框架之同化對(duì)話框樣式

開發(fā) 后端
本文將談到Winform開發(fā)框架中的同化對(duì)話框樣式,三個(gè)不同的對(duì)話框封裝類,專門為不同的Winform界面樣式服務(wù),接口一樣,返回的對(duì)話框結(jié)果一樣。

  早在《》隨筆中,就集成了三種界面樣式的分頁(yè)控件,后來(lái)也就形成了我三種不同的Winform開發(fā)框架界面樣式。

  1)基于傳統(tǒng)經(jīng)典模式的界面,采用了OutLookBar工具條以及鼎鼎有名的Weifengluo多文檔布局控件,集成了分頁(yè)控件、使用基于Apose.Cell控件的自定義報(bào)表等功能,能適應(yīng)大多數(shù)業(yè)務(wù)系統(tǒng)的引用??蚣軘?shù)據(jù)編輯界面、普通查詢窗體界面均采用窗體集成模式,簡(jiǎn)化開發(fā)代碼,提高窗體開發(fā)效率以及統(tǒng)一界面的一致性。

  2)在基于傳統(tǒng)經(jīng)典模式的Winform框架基礎(chǔ)上,引入DotNetBar優(yōu)秀的界面組件,對(duì)界面的樣式,布局均由很大程度的提升。工具欄統(tǒng)一集中放置在Ribbon工具條上,可以折疊分組等,另外也支持多文檔的界面操作,非常方便和美觀。

  3)基于DevExpress界面設(shè)計(jì)也在基于傳統(tǒng)經(jīng)典模式的Winform框架基礎(chǔ)上,引入DotNet最為優(yōu)秀的界面組件DevExpress,對(duì)界面布局、樣式等模塊提升到一個(gè)極高的高度,同時(shí)提供該樣式的分頁(yè)控件,使得整合更加***。

  介紹三種框架的布局及大致樣式后,言歸正傳,介紹在Winform開發(fā)中,經(jīng)常用到的對(duì)話框操作的封裝,一般的對(duì)話框操作,包括有各種不同的方式,傳統(tǒng)方式如下所示。

  以上圖片是Win7的效果,XP或者2000下基本上是灰頭土臉的效果,如果但在不同的界面樣式中,就不能一直用MessageBox.Show這個(gè)方法了,因?yàn)椴煌慕缑鏄邮教峁┝瞬煌膶?duì)話框封裝操作。下面分別介紹基于傳統(tǒng)方式、基于DotNetBar界面控件方式、基于DevExpress界面樣式方式,三種方式的對(duì)話框處理封裝類。

  1)、傳統(tǒng)方式的對(duì)話框處理封裝類代碼如下

  1.   public class MessageUtil  
  2.   {  
  3.   /// <summary> /// 顯示一般的提示信息  
  4.   /// </summary> /// <param name="message">提示信息</param>  
  5.   public static DialogResult ShowTips(string message)  
  6.   {  
  7.   return MessageBox.Show(message, "提示信息",MessageBoxButtons.OK, MessageBoxIcon.Information);  
  8.   }  
  9.   /// <summary> /// 顯示警告信息  
  10.   /// </summary> /// <param name="message">警告信息</param>  
  11.   public static DialogResult ShowWarning(string message)  
  12.   {  
  13.   return MessageBox.Show(message, "警告信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);  
  14.   }  
  15.   /// <summary> /// 顯示錯(cuò)誤信息  
  16.   /// </summary> /// <param name="message">錯(cuò)誤信息</param>  
  17.   public static DialogResult ShowError(string message)  
  18.   {  
  19.   return MessageBox.Show(message, "錯(cuò)誤信息", MessageBoxButtons.OK, MessageBoxIcon.Error);  
  20.   }  
  21.   /// <summary> /// 顯示詢問(wèn)用戶信息,并顯示錯(cuò)誤標(biāo)志  
  22.   /// </summary> /// <param name="message">錯(cuò)誤信息</param>  
  23.   public static DialogResult ShowYesNoAndError(string message)  
  24.   {  
  25.   return MessageBox.Show(message, "錯(cuò)誤信息", MessageBoxButtons.YesNo, MessageBoxIcon.Error);  
  26.   }  
  27.   /// <summary> /// 顯示詢問(wèn)用戶信息,并顯示提示標(biāo)志  
  28.   /// </summary> /// <param name="message">錯(cuò)誤信息</param>  
  29.   public static DialogResult ShowYesNoAndTips(string message)  
  30.   {  
  31.   return MessageBox.Show(message, "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information);  
  32.   }  
  33.   /// <summary> /// 顯示詢問(wèn)用戶信息,并顯示警告標(biāo)志  
  34.   /// </summary> /// <param name="message">警告信息</param>  
  35.   public static DialogResult ShowYesNoAndWarning(string message)  
  36.   {  
  37.   return MessageBox.Show(message, "警告信息", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);  
  38.   }  
  39.   /// <summary> /// 顯示詢問(wèn)用戶信息,并顯示提示標(biāo)志  
  40.   /// </summary> /// <param name="message">錯(cuò)誤信息</param>  
  41.   public static DialogResult ShowYesNoCancelAndTips(string message)  
  42.   {  
  43.   return MessageBox.Show(message, "提示信息", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);  
  44.   }  
  45.   /// <summary> /// 顯示一個(gè)YesNo選擇對(duì)話框  
  46.   /// </summary> /// <param name="prompt">對(duì)話框的選擇內(nèi)容提示信息</param> /// <returns>如果選擇Yes則返回true,否則返回false</returns>  
  47.   public static bool ConfirmYesNo(string prompt)  
  48.   {  
  49.   return MessageBox.Show(prompt, "確認(rèn)", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes;  
  50.   }  
  51.   /// <summary> /// 顯示一個(gè)YesNoCancel選擇對(duì)話框  
  52.   /// </summary> /// <param name="prompt">對(duì)話框的選擇內(nèi)容提示信息</param> /// <returns>返回選擇結(jié)果的的DialogResult值</returns>  
  53.   public static DialogResult ConfirmYesNoCancel(string prompt)  
  54.   {  
  55.   return MessageBox.Show(prompt, "確認(rèn)", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);  
  56.   }  
  57.   } 

  2 )DotNetBar樣式中對(duì)話框處理封裝類如下所示

  1.   public class MessageExUtil  
  2.   {  
  3.   /// <summary> /// 顯示一般的提示信息  
  4.   /// </summary> /// <param name="message">提示信息</param>  
  5.   public static DialogResult ShowTips(string message)  
  6.   {  
  7.   return MessageBoxEx.Show(message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);  
  8.   }  
  9.   /// <summary> /// 顯示警告信息  
  10.   /// </summary> /// <param name="message">警告信息</param>  
  11.   public static DialogResult ShowWarning(string message)  
  12.   {  
  13.   return MessageBoxEx.Show(message, "警告信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);  
  14.   }  
  15.   /// <summary> /// 顯示錯(cuò)誤信息  
  16.   /// </summary> /// <param name="message">錯(cuò)誤信息</param>  
  17.   public static DialogResult ShowError(string message)  
  18.   {  
  19.   return MessageBoxEx.Show(message, "錯(cuò)誤信息", MessageBoxButtons.OK, MessageBoxIcon.Error);  
  20.   }  
  21.   /// <summary> /// 顯示詢問(wèn)用戶信息,并顯示錯(cuò)誤標(biāo)志  
  22.   /// </summary> /// <param name="message">錯(cuò)誤信息</param>  
  23.   public static DialogResult ShowYesNoAndError(string message)  
  24.   {  
  25.   return MessageBoxEx.Show(message, "錯(cuò)誤信息", MessageBoxButtons.YesNo, MessageBoxIcon.Error);  
  26.   }  
  27.   /// <summary> /// 顯示詢問(wèn)用戶信息,并顯示提示標(biāo)志  
  28.   /// </summary> /// <param name="message">錯(cuò)誤信息</param>  
  29.   public static DialogResult ShowYesNoAndTips(string message)  
  30.   {  
  31.   return MessageBoxEx.Show(message, "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information);  
  32.   }  
  33.   /// <summary> /// 顯示詢問(wèn)用戶信息,并顯示警告標(biāo)志  
  34.   /// </summary> /// <param name="message">警告信息</param>  
  35.   public static DialogResult ShowYesNoAndWarning(string message)  
  36.   {  
  37.   return MessageBoxEx.Show(message, "警告信息", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);  
  38.   }  
  39.   /// <summary> /// 顯示詢問(wèn)用戶信息,并顯示提示標(biāo)志  
  40.   /// </summary> /// <param name="message">錯(cuò)誤信息</param>  
  41.   public static DialogResult ShowYesNoCancelAndTips(string message)  
  42.   {  
  43.   return MessageBoxEx.Show(message, "提示信息", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);  
  44.   }  
  45.   } 

  3)DevExpress樣式中對(duì)話框處理封裝類如下所示

  1.   public class MessageDxUtil  
  2.   {  
  3.   /// <summary> /// 顯示一般的提示信息  
  4.   /// </summary> /// <param name="message">提示信息</param>  
  5.   public static DialogResult ShowTips(string message)  
  6.   {  
  7.   return DevExpress.XtraEditors.XtraMessageBox.Show(message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);  
  8.   }  
  9.  /// <summary> /// 顯示警告信息  
  10.   /// </summary> /// <param name="message">警告信息</param>  
  11.   public static DialogResult ShowWarning(string message)  
  12.   {  
  13.   return DevExpress.XtraEditors.XtraMessageBox.Show(message, "警告信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);  
  14.   }  
  15.   /// <summary> /// 顯示錯(cuò)誤信息  
  16.   /// </summary> /// <param name="message">錯(cuò)誤信息</param>  
  17.   public static DialogResult ShowError(string message)  
  18.   {  
  19.   return DevExpress.XtraEditors.XtraMessageBox.Show(message, "錯(cuò)誤信息", MessageBoxButtons.OK, MessageBoxIcon.Error);  
  20.   }  
  21.   /// <summary> /// 顯示詢問(wèn)用戶信息,并顯示錯(cuò)誤標(biāo)志  
  22.   /// </summary> /// <param name="message">錯(cuò)誤信息</param>  
  23.   public static DialogResult ShowYesNoAndError(string message)  
  24.   {  
  25.   return DevExpress.XtraEditors.XtraMessageBox.Show(message, "錯(cuò)誤信息", MessageBoxButtons.YesNo, MessageBoxIcon.Error);  
  26.   }  
  27.   /// <summary> /// 顯示詢問(wèn)用戶信息,并顯示提示標(biāo)志  
  28.   /// </summary> /// <param name="message">錯(cuò)誤信息</param>  
  29.   public static DialogResult ShowYesNoAndTips(string message)  
  30.   {  
  31.   return DevExpress.XtraEditors.XtraMessageBox.Show(message, "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information);  
  32.   }  
  33.   /// <summary> /// 顯示詢問(wèn)用戶信息,并顯示警告標(biāo)志  
  34.   /// </summary> /// <param name="message">警告信息</param>  
  35.   public static DialogResult ShowYesNoAndWarning(string message)  
  36.   {  
  37.   return DevExpress.XtraEditors.XtraMessageBox.Show(message, "警告信息", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);  
  38.   }  
  39.   /// <summary> /// 顯示詢問(wèn)用戶信息,并顯示提示標(biāo)志  
  40.   /// </summary> /// <param name="message">錯(cuò)誤信息</param>  
  41.   public static DialogResult ShowYesNoCancelAndTips(string message)  
  42.   {  
  43.   return DevExpress.XtraEditors.XtraMessageBox.Show(message, "提示信息", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);  
  44.   }  
  45.   } 

  三個(gè)不同的對(duì)話框封裝類,專門為不同的Winform界面樣式服務(wù),接口一樣,返回的對(duì)話框結(jié)果一樣,簡(jiǎn)化了對(duì)這些常用的操作封裝的同時(shí),也使得界面的整體性達(dá)到更一致,用戶體驗(yàn)更好,否則在漂亮的DevExpress界面效果中,突然彈出一個(gè)灰頭土臉的對(duì)話框提示信息,甚是大煞風(fēng)景,給使用者不好的印象。

  以上是我在我的三種界面樣式的Winform開發(fā)框架中常用到的類,希望對(duì)大家有所幫助,并能在具體的項(xiàng)目中應(yīng)用,有時(shí)間就推薦一下,在此感謝大家支持。

原文鏈接:http://www.cnblogs.com/cbcye/archive/2012/01/08/2316514.html

【編輯推薦】

  1. WPF調(diào)用Winform控件具體技巧分享
  2. Winform框架之字典數(shù)據(jù)管理
  3. 詳解Winform多線程編程基本原理
  4. 詳解WinForm窗體間交互的方法
  5. WPF與WinForm對(duì)比談 多線程編程優(yōu)化是關(guān)鍵
責(zé)任編輯:彭凡 來(lái)源: 博客園
相關(guān)推薦

2011-07-01 11:33:00

Qt 模態(tài) 非模態(tài)

2010-01-11 09:33:32

VB.NET對(duì)話框調(diào)用

2012-12-03 10:47:54

WebJQuery控件

2012-08-21 11:26:17

Winform

2010-01-28 16:55:26

Android對(duì)話框

2011-07-21 15:50:42

jQuery Mobi頁(yè)面對(duì)話框

2009-12-28 13:47:35

WPF對(duì)話框

2009-12-28 14:32:31

WPF窗體對(duì)話框

2009-12-11 15:35:50

PHP彈出對(duì)話框

2012-12-11 10:15:02

Winform開發(fā)框架

2013-04-23 09:31:12

Winform開發(fā)框架

2011-05-20 16:49:21

VB.NET

2009-12-29 15:24:48

WPF對(duì)話框

2013-12-27 14:10:36

Android開發(fā)Android應(yīng)用Transform

2011-07-22 15:32:53

iPhone 按鈕 對(duì)話框

2021-01-28 14:34:35

鴻蒙HarmonyOS應(yīng)用開發(fā)

2009-09-03 17:44:22

iPhone程序開發(fā)

2010-01-22 16:27:19

VB.NET關(guān)于對(duì)話框

2011-06-02 10:37:02

Android 對(duì)話框

2012-11-20 10:04:46

Winform開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)