会员管理系统的设计和开发(3)--主界面的设计思路分享

简介:

会员管理系统经过一段时间的紧锣密鼓开发,软件终于完成并发布。在这期间,碰到了不少技术难点,并积累了不少开发心得和经验,本篇继续介绍这个开发过程中相关的技术要点,本章主要介绍会员管理里面,列表主界面的一些设计思路分享。

有时候,遵循一些固定的套路做事情,总是很容易,如果每个地方搞一些创新和改进,那么往往需要花费很多时间,但是创新是有积极意义的,虽然可能会遇到困难,但是很值得去做。在Winform的界面设计上,虽然我可以使用代码生成工具生成比较标准的界面了,但是我总是喜欢参考学习,并改进一些界面方面的元素,因此我经常会花费一些时间在研究一些界面细节上,不过做完后却可以感觉非常愉悦,同时也可以给后面的项目参考。

1、完成后的会员管理界面

这个里面的会员信息管理界面,分为了左右两部分的格局,左边显示会员的一些属性和状态分类,右边显示的是查询条件和查询列表内容。我们再来看看其会员信息列表界面的设计状态下的视图,基本上和运行时的界面保持一致,只是列表部分内容是在运行时刻进行动态加载的而已。

2、界面分析和设计

我们以这个界面效果反推如何实现这个效果,这样对我们可能更有帮助,也容易理解一些。

1)左右分拆及折叠界面的设计

列表界面的布局方面是左右两部分,里面还有一个箭头,双击箭头附件的部分可以把左边进行折叠,因此我们先来看看这个地方是如何实现的。

首先需要在VS的工具箱里面找到SplitContainerControl控件,然后放到整个窗体里面,并把它Dock属性设置为Fill,让它全部占满整个窗体。

接着设置整个控件的树形如下所示。

最后就可以看到左右的格局并可以折叠第一个面板的效果了。

然后在左边的面板里面增加一个TreeView控件,并设置它的Dock属性,并在设计时刻增加一些树的节点,方便效果显示处理。

通过后台代码的数据绑定,我们可以动态构造树状列表了,并且列表界面的数据也可以在右边进行展示,这样运行时候我们就可以得到前面介绍的主界面效果了。

有时候,我们可能需要利用面板分割控件,把主从表两个表的记录进行关联展示。

如下界面所示是一个消费信息的表,包括了消费总信息和消费明细信息两部分,但选择左边主表信息的时候,右边刷新显示明细表的记录信息。

2)下拉列表按钮效果实现

有时候,在列表界面里面放太多的按钮,会显得比较凌乱,有时候界面缩小的话,可能就被遮挡或者重叠了,这样的界面布局就很糟糕,DevExpress控件组提供了一个下拉列表按钮组的控件,非常方便用于节省屏幕控件,并对按钮进行分组。如我为了方便,把一些会员的相关操作,放到了一起,集合在一个下拉列表按钮里面,效果如下所示。

那要实现上面按钮的效果,应该如何操作才做到的呢?

DevExpress组件的工具栏里面有一个对应的按钮控件,如下所示。

不过拖动上去,并没有对应的属性用来设置里面的按钮集合的,而是需要配合这三个控件对象进行使用的。

ImageCollection是用来设置按钮图标的,其他两个需要配对使用在这个例子里面,增加后BarManger会增加工具栏、菜单栏、状态栏,把这些默认的都删除,不需要,然后制定PopupMenu的Manager属性为barManager1即可。

处理完这些步骤后,进一步设置弹出的按钮集合,并添加对应的事件处理即可,如下设计界面所示。

 3)列表展示界面

列表展示内容,主要就是使用代码生成工具Database2sharp自动生成的界面和后台代码,里面使用了分页控件进行展示而已,再次不在赘述了,看看界面效果如下所示。

本文转自博客园伍华聪的博客,原文链接:会员管理系统的设计和开发(3)--主界面的设计思路分享,如需转载请自行联系原博主。



目录
相关文章
|
存储 关系型数据库 MySQL
mysql安装教程mac
【4月更文挑战第21天】
695 1
|
数据库 存储 关系型数据库
|
Linux C语言 Windows
荔枝派Zero(全志V3S)一键镜像烧录(windows和linux下)
搞到了一块荔枝派Zero,其CPU为全志V3S, ARM Cortex-A7, 最高1.2GHz,不得不说这小东西能达到这么高的主频真是让我大为震撼,废话不多说,先让其跑起来,证明板子是好的
847 0
Dockerfile换源
Dockerfile换源
1192 0
|
前端开发
会员系统02--,后台管理系统,包含网站运营,统计分析,用户中心,财务管理,资金明细,系统管理,参数配置,后台管理系统可以观看配置资料,广告位的相关资料,客服工单最主要是客户反馈给我们的问题,登录统计
会员系统02--,后台管理系统,包含网站运营,统计分析,用户中心,财务管理,资金明细,系统管理,参数配置,后台管理系统可以观看配置资料,广告位的相关资料,客服工单最主要是客户反馈给我们的问题,登录统计
|
10月前
|
缓存 关系型数据库 MySQL
MySQL 索引优化以及慢查询优化
通过本文的介绍,希望您能够深入理解MySQL索引优化和慢查询优化的方法,并在实际应用中灵活运用这些技术,提升数据库的整体性能。
763 7
|
计算机视觉 开发者 Python
OpenCV中Fisherfaces人脸识别器识别人脸实战(附Python源码)
OpenCV中Fisherfaces人脸识别器识别人脸实战(附Python源码)
506 0
|
测试技术
黑盒测试、白盒测试、灰盒测试的区别和各自的目的
黑盒测试、白盒测试和灰盒测试是软件测试中常用的测试方法。它们的区别和各自的目的如下: 1. 黑盒测试(Black Box Testing): - 黑盒测试是一种功能性测试方法,使用者只关注输入和输出,不考虑内部结构和实现细节。 - 黑盒测试的目的是验证软件功能是否按照需求规格说明书的要求来执行。 - 测试人员不需要了解软件的内部逻辑和代码,只需关注输入和输出的正确性。 - 黑盒测试可通过设计测试用例,模拟用户使用软件的场景,以验证系统的正确性。 2. 白盒测试(White Box Testing): - 白盒测试是一种结构性测试方法,测试人员了解软件的内部结构
4078 0
|
编解码
荔枝派Zero(全志V3S)开启mplayer,播放音视频
mplayer 是一款开源的多媒体播放器,可以用来播放音视频, mplayer 自带多种格式的解码器,不需要我们再另外安装。本文介绍如何在 荔枝派上移植 mplayer 播放器,基于音频驱动实验。
519 0

热门文章

最新文章