博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Winform开发框架之对话框样式同化
阅读量:6264 次
发布时间:2019-06-22

本文共 6998 字,大约阅读时间需要 23 分钟。

早在《》随笔中,就集成了三种界面样式的分页控件(普通版、基于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界面效果中,突然弹出一个灰头土脸的对话框提示信息,甚是大煞风景,给使用者不好的印象。

本文转自博客园伍华聪的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
javascript 2词法结构
查看>>
BZOJ1008|HNOI2008 越狱
查看>>
Linux学习笔记二:Ubuntu安装SSH(Secure Shell)服务
查看>>
杭电2048--神、上帝以及老天爷
查看>>
CSS选择器
查看>>
excel
查看>>
echarts 通过ajax实现动态数据加载
查看>>
python-web-server-tcp1
查看>>
shell脚本入门
查看>>
Management
查看>>
URAL 2048 Histroy(打表+模拟)
查看>>
深入理解String, StringBuffer, StringBuilder的区别(基于JDK1.8)
查看>>
【转】oracle in与exists语句的区别
查看>>
RPC 使用中的一些注意点
查看>>
Django_rest framework 框架介绍
查看>>
Hello world,Hello 2014,Bye 2013
查看>>
python之正则表达式模块
查看>>
BFC和清除浮动
查看>>
笔记:2016-06-04
查看>>
ECSHOP 布局参考图
查看>>