Winform开发框架之对话框样式同化

简介:

早在《Winform分页控件重大更新,并实现普通版、DotNetBar、DevExpress三大版本整合更新(附各种例子源码)》随笔中,就集成了三种界面样式的分页控件(普通版、基于DotNetBar样式和基于DevExpress样式三种),后来也就形成了我三种不同的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开发框架之对话框样式同化,如需转载请自行联系原博主。



目录
相关文章
|
1月前
|
前端开发
前端ElementPlus框架中的几种图标按钮使用方式
本文介绍了如何在Element Plus前端框架中使用带有图标的按钮,包括设置按钮大小、图标大小、按钮类型以及如何为图标添加点击事件。
145 0
|
1月前
|
开发框架 前端开发 搜索推荐
在WInform开发中实现工具栏/菜单的动态呈现
在WInform开发中实现工具栏/菜单的动态呈现
|
4月前
|
C++
C++ Qt开发:自定义Dialog对话框组件
在之前的文章中笔者已经为大家展示了默认`Dialog`组件的使用方法,虽然内置组件支持对数据的输入,但有时候我们需要一次性输入多个数据,此时如果之使用默认模态对话框似乎不太够用,此时我们需要自己创建一个自定义对话框,需要说明的是此类对话框也是一种窗体,所以可以在其上面放置任何通用组件,以实现更多复杂的开发需求。自定义对话框需要解决的问题是,如何让父窗体与子窗体进行数据交换,要实现数据的交换有两种方式,第一种方式是通过动态加载模态对话框,当用户点击确定后通过`GetValue()`来拿到数据,而第二种方式则是通过发送信号的方式将数据投递给父窗体,这两种方式都可以,读者可根据自身需求来选择不同的通
79 1
C++ Qt开发:自定义Dialog对话框组件
|
11月前
CocosCreator3.8研究笔记(二十三)CocosCreator 动画系统-动画编辑器相关功能面板说明
CocosCreator3.8研究笔记(二十三)CocosCreator 动画系统-动画编辑器相关功能面板说明
151 0
MFC Ribbon开发中编辑框、下拉框始终为灰色的问题解决
MFC Ribbon开发中编辑框、下拉框始终为灰色的问题解决
300 0
|
Java
Java开发GUI之可编辑区域
Java开发GUI之可编辑区域
160 0
Java开发GUI之可编辑区域
|
C# Windows
WPF 设置类库项目为启动项,设置窗体跟随。
原文:WPF 设置类库项目为启动项,设置窗体跟随。 1、添加用于启动的类Program.cs,需要一个静态的Main函数入口。
1019 0
|
数据安全/隐私保护