在设计界面的时候,不论是在Web端,仍是在Winform端,或者是WPF或者移动界面等应用上,咱们对界面的组织布局,一直是比较有趣的话题,而组织界面的好坏从用户的感觉来看,能够提供程序可以使用性高低,也体现了开发者的开发界面的功力。良好的界面布局,可使得咱们组织内容更加合理,也更加美观。本篇随笔主要罗列我本身在开发Winform界面的时候,对界面的组织布局的一些小小案例和心得。前端
界面的组织布局,我这里分为了三个部分,一个是主界面组织布局、列表界面组织布局、新增编辑界面组织布局。数据库
主界面的组织布局,主要就是应用多窗体的布局方式,通常能够考虑使用多文档容器界面,这种也是常规的方式;或者能够考虑基于用户控件的变化实现同一个面板显示不一样的控件内容。架构
如早期的Winform,我使用默认样式的Winform界面,布局采用控件"WeifenLuo.WinFormsUI.Docking"来承载窗体界面内容,以下所示。框架
前者也主要是使用多文档的方式来处理不一样窗体的界面显示,随着时间的推移,后来逐渐引入了DevExpress的界面套件的方式来作界面,这个界面控件能够实现更加丰富的界面效果,而以界面代码生成工具(代码生成工具Database2Sharp)生成列表和编辑界面后,调整更加方便,所以主要的Winform界面前端就是使用DevExpress的方式来处理,使用DevExpress可使用Ribbon窗体,也可以很好的支持多文档的界面,所以主界面的效果仍是更胜一筹。工具
这些主界面,后来基本上都是沿袭一致的界面呈现方式,使用了RibbonForm和树列表等展现内容,列表界面部分可使用分页控件统一呈现,实现比较统一的界面效果。布局
上面的内容,咱们主要介绍了主界面的组织方式,通常主界面是多文档界面,所以列表界面也会最终展现在主界面框架上的。通常来讲,咱们展现常规内容的时候,分为列表内容和明细显示界面,也就是列表内容分页展现数据库里面的记录信息,而咱们查看明细界面内容的时候,就是显示单条记录的详细内容。优化
如对于列表内容的展现,通常展现效果以下所示,主要展现数据库里面的二维表信息。设计
有时候列表查询的字段不够的时候,咱们经过列表的高级查询进行补充这个短板,以便对于表有大量字段的时候的,对一些不常见的字段进行高级查询操做。3d
可是一旦列表内容比较多,咱们若是须要定位不一样的筛选信息的时候,若是仅仅经过一些查询字段的查询,也不是那么友好。所以可能引入一些树形列表来区分不一样的内容。 orm
经过这些列表展现的方式,咱们能够进一步细化内容的展现,如权限系统的内容展现,经过对用户组织架构和角色的区分,咱们能够快速定位系统用户,也能够经过查询字段进行查询,两相结合更加方便使用。
字典模块内容展现,经过不一样字典大类的树形列表展现,可使得咱们过滤字典信息更加方便。
而角色管理者摒弃了传统二维表的方式展现数据,经过树列表控件、表单信息和选项卡信息,更好维护角色数据的处理。
对于客户关系管理系统的客户信息的列表界面,这个界面对客户信息的不一样属性进行树形列表展现,可使得定位客户信息更加精确化,更加友好。
以及对一些特定范畴的数据统一管理,能够结合树结构的控件展现,处理起来更方便合理。
另外,有些状况下,咱们须要考虑在列表界面上展现主从表信息,那么也能够利用DevExpress的列表控件来实现效果,以下所示。
除了列表界面,另一个就是对数据的明细展现界面了,这个界面内容能够更加多元化,如在里面承载各类控件,如文本、日期、图片、下拉列表、树形列表,以及咱们自定义的一些控件,如对于附件的经过管理展现控件。
有时候,明细内容还涉及到一些主从代表细的录入,以下所示是主从代表细内容直接录入的案例。
若是明细内容较多,咱们能够考虑使用选项卡的方式来维护数据,经过选项卡把不一样类别的数据区分管理,以下面客户基本资料就是一个案例。
后者系统用户信息的展现也是基于一样的理念
不过若是对于须要集中展现明细信息外,以及整合相关的记录信息,那么一两个选项卡确定不够,以下面案例的人员基本信息的展现,除了展现自身的基础信息外,也把一些人员关联的信息一并展现,那么须要分为不少选项卡来容纳这些信息,可是太多又会致使咱们的界面拥挤,所以能够在选项卡后面添加一个配置按钮,使得用户能够方便维护本身感兴趣的选项卡内容。
不过若是内容仍是不少,咱们若是还须要精确的分开不一样部分的内容,咱们也能够考虑下面一种方案。
如对于胶质瘤的病人资料,咱们基础信息这么展现,虽然内容很多,可是仍是比较合理。
可是,若是对于信息病理内容不少,若是一股脑的展现在一个内容页面上,确定比较难看,并且也很差维护数据,以下是很差的案例展现。
合理的方式是引入选项卡或其余区分方式,我这里使用了一种不同的方式,就是经过结合树列表和用户控件的方式,实现一个选项卡里面,对不一样区域内容的展现和维护,这样录入界面和定位不一样部分的数据也显得更加方便得体。
下面是对于病人资料内容展现的较为合理的案例。
对于一个病人,不一样的属性对应不一样的图片附件信息,咱们能够统一区分管理,以下所示。
以上就是对于主界面界面、列表界面、明细编辑界面的几种界面案例的分析,咱们通常在开发的时候,每每都是先使用代码生成工具(个人代码生成工具Database2Sharp),统一辈子成标准的列表界面,和明细展现的编辑界面,而后在对它进行必定的润色和修改,如调整字典下拉列表类型,增长一些树形列表,调整不一样的选项卡展现内容,增长附件管理控件,增长一些特殊的界面效果,只有在一些特殊的状况下,咱们须要完全从新构建明细界面展现。
以上全部案例都是我在Winform开发的时候,逐步造成一些经验或者布局改变的思路,固然有些也是一而再,再而三的优化界面,从而达到更好的显示和处理效果,但愿你们喜欢,也欢迎多提意见。