搜档网
当前位置:搜档网 › winform界面风格规范-v1.1

winform界面风格规范-v1.1

winform界面风格规范-v1.1
winform界面风格规范-v1.1

界面设计规范

1.引言

1.1 设计说明

本文档是对系统界面设计风格进行描述,而和用户交互的最终界面将会中项目《详细设计说明书》中设计和解释。

1.2 概念和定义

1. 用户界面

又称人机界面,实现用户与计算机之间的通信,以控制计算机或进行用户和计算机之间得数据传送的系统部件。

2. GUI

即图形用户界面,一种可视化得用户界面,它使用图形界面代替文本界面。

开发人员必须选择仔细选择窗体,并且要理解为什么比其他形式的窗体更适用。

3. 主要窗体(Primary Windows)

主要窗体包含了一个应用程序的大部分功能,大多时候它是一个单独的窗体,但在一个MDI风格的应用程序中,父窗体和子窗体都被认为是主要窗体。

1) Single Document Interface (SDI)

一个单独的主要窗体通常包含一个菜单栏、工具栏和状态栏,打开此窗体时应该运

行在当前所有窗体的上面,并且在任务栏提供显示,就像记事本和写字板程序。

2) Multiple Document Interface (MDI)

通常适合有多个任务,或同时管理所有的窗口。例如Microsoft Word,Excel和V isual

Basic。

3) Split Document Interface (split SDI或Explorer)

是一个分隔的主要窗体,通常包括菜单栏、工具栏和状态栏。例如资源管理器和

Outlook。

4. 次要窗体(Secondary Windows)

一个次要窗体通常用于为主要窗体提供补充信息和交互作用,界面比较简单。

1) Modal dialog boxes(模态对话框)

2) Modeless dialog boxes(非模态对话框)

3) Property sheet

1.3 用户假定

面符合Windows 9X/2000特别是Office 97/2000风格,对易用性、简洁性有比较高的要求,对界面快速交互没有很强的要求(即不希望通过命令方式快速交互)。

2. 用户界面设计规范

2.1 用户界面设计原则

图形用户界面(GUI)设计原则,界面直观、对用户透明:用户接触软件后对界面上对应的功能一目了然、不需要多少培训就可以方便使用本应用系统。

界面设计员应该明白软件中用户是所有处理的核心,不应该有应用程序来决定处理过程,所以用户界面应当由用户来控制应用如何工作、如何响应,而不是由开发者按自己的意愿把操作流程强加给用户。

界面设计必须经过确认才能完成。

2.2 Windows界面标准

1. 窗体大小要设计适合800×600像素

2. 程序第一次运行时默认最大化打开,以后要以用户定义的大小打开

3. 次要窗体不能大于500×400像素

4. 一些次要窗体大小的标准(单位:像素)

1) 关于对话框(About Box)390w×264

2) 登录对话框(Login)290×142

3) 起始信息框(Splash Screen)500×310

5. 所有窗体的设计都必须遵从可视化开发的标准

1) 突起的项目可以被点击;

2) 当鼠标移动到可以被点击的项目上时,该项目高亮显示;

3) 凹进的项目不能被点击;

4) 当项目有白色的背景并可以置放光标时,该项目可以被编辑;

5) 项目的背景为灰色时不能被编辑;

6) 灰色的项目是不能使用的;

如下图所示。

图1 可视化开发样例

6. 只有主窗体才能有菜单栏、工具栏和状态栏

7. 应用程序将要包含下面的元素

1) 系统图标(System Icon)

2) 系统名称(System Name Text)

3) Data Type Name (只应用于MDI applications)如下图所示。

图2 主窗体标题栏示例MDI窗体标题栏(TITLE BAR)如下图所示

子窗体子窗体

图3 MDI窗体标题栏示例

当MDI窗体最大化时,融合在父窗体时的例图如下所示。

8. 次要窗体不能调整大小

9. 主要窗体必须包含一个状态栏

如下图所示。

主窗体状态栏标准

图5 状态栏标准

10. 使用通用的对话框。

如下图所示。

表1 Windows 对话框

11. Windows界面中控件间距要保持一致

控件间为7个像素

控件到边缘12个像素

如下图所示。

图6 控件间距图例

12. 避免窗体出现水平滚动条

2.3 界面一致性

在界面设计中应该保持界面的一致性。一致性既包括使用标准的控件,也指使用相同的信息表现方法,如在字体、标签风格、颜色、术语、显示错误信息等方面确保一致。

1. 显示信息一致性标准

1) 标签提示:字体为不加重、宋体、黑色、灰底或透明、无边框、右对齐、不带冒号、

一般情况为五号(10号);

2) 日期:正常字体、宋体、白底黑字 3) 对齐方法

左对齐:一般文字、单个数字、日期等。 右对齐:数字、时间、日期(含时间)。

4) 分辨率为800×600,增强16色 5) 字体缺省为宋体、五号、黑色 6) 底色缺省采用灰色

这些信息的排列显示风格供参考,在同一个应用中,这些信息的表现方式不一致,会使

致性。

2. 布局合理化原则

应注意在一个窗口内部所有控件的布局和信息组织的艺术性,使得用户界面美观。

在一个窗口中按tab键,移动聚焦的顺序不能杂乱无章,tab的顺序是先从上至下,再从左至右。一屏中首先应输入的和重要信息的控件在tab顺序中应当靠前,位置也应放在窗口上较醒目的位置。布局力求简洁、有序、易于操作。

3. 鼠标与键盘对应原则

应遵循的是可不用鼠标的原则:应用中的功能只用键盘也应当可以完成,即设计的应用中还应加入一些必要的按钮和菜单项。

但是,许多鼠标的操作,如双击、拖动对象等,并不能简单地用键盘来模拟即可实现。例如在一个列表框中用鼠标双击其中一项可以表示选中该项内容。为了用键盘也能实现这一功能,必须在窗口中定义一个表示选中的按钮,以作为实现双击功能的替代(或其它方式)。又如在一个窗口中有两个数据窗口,可以用鼠标从一个数据窗口中将一项拖出,然后放到另一个中。如果只用键盘,就应当在菜单中设置拷贝或移动的菜单项。

4. 快捷键

在菜单项中使用快捷键可以让使用键盘的用户操作得更快一些,在西文Windows及其应用软件中快捷键的使用大多是一致的。本系统中应用的快捷键在各个配置项上语义必须保持一致。

1) 面向事务的

Ctrl-D 删除

Ctrl-F 寻找

Ctrl-I 插入

Ctrl-N 新记录

Ctrl-S 保存

2) 查询/列表

Ctrl-O

Ctrl-R

3) 其它

Ctrl-C 拷贝

Ctrl-H 帮助

Ctrl-P 打印

Ctrl-V 粘贴

Ctrl-W 关闭

Ctrl-X 剪切

4) MS Windows保留键

Ctrl-Tab 下一窗口

Ctrl-F4 关闭窗口 Alt-F4 结束应用 Alt-Tab 下一应用 Enter 缺省按钮/确认操作 Esc 取消按钮/取消操作 Shift-F1 上下文相关帮助

5) 其它快捷键

其它快捷键使用汉语拼音的开头字母,不常用的可以没有快捷键。

2.4 向导(Wizard )使用原则

对于应用中某些部分的处理流程是固定的,用户必须按照指定的顺序输入操作信息,为了使用户操作得到必要的引用应该使用向导,使用户

使用功能时比较轻松明了,但是向导必须用在固定处理流程中,并且处理流程应该不少于3

个处理步骤。

2.5 系统响应时间

系统响应时间包括两个方面:时间长度和时间的易变性。用户响应时间应该适中,系统响应时间过长,用户就会感到不安和沮丧,而响应时间过短有时会造成用户加快操作节奏,从而导致错误。系统响应时间的易变性是指相对于平均响应时间的偏差。即使响应时间比较长,低的响应时间易变性也有助于用户建立稳定的节奏。因此在系统响应时间上

坚持如下原则:

2.6 用户帮助设施

常用的帮助设施有两种:集成的和附加的。集成的帮助设施一开始就是设计在软件中的,它与语境有关,用户可以直接选择与所要执行操作相关的主题。通过集成帮助设施可以缩短用户获得帮助的时间,增加界面的友好性。附加的帮助设施在系统建好以后再加进去的。通常是一种查询能力比较弱的联机帮助。

1) 进行系统交互时,提供部分帮助功能,即:提供主要操作的帮助;

2) 用户可以通过帮助菜单、F1键和帮助按钮(如果有的话)访问帮助;

3) 表示帮助时根据需要提供三种方式的选择:另一个窗体、微帮助和指出参考某个文

档;

4) 用户如何回到正常交互方式有两种选择:返回键和功能键;

5) 帮助信息的构造:采用分层式帮助;

6) 微帮助提供:由状态栏提供,或控件上的提示文本。

2.7 出错信息和警告

出错信息和警告是指出现问题时系统给出的坏消息,本系统对于出错信息和警告应该遵循以下原则:

1) 信息以用户可以理解的术语描述;

2) 信息应提供如何从错误中恢复的建设性意见;

3) 信息应指出错误可能导致那些不量后果,以便用户检查是否出现了这些情况或帮助

用户进行改正;

4) 信息应伴随着视觉上的提示,如特殊的图像、颜色或信息闪烁;

5) 信息不能带有判断色彩,即任何情况下不能指责用户。

2.8 命令交互

由于本系统用户是Windows用户,故本系统不提供命令交互。

2.9 一般交互原则

本系统一般交互遵循以下原则:

1) 一致性:菜单选择、数据显示以及其它功能都应使用一致的格式;

2) 提供有意义的反馈;

3) 执行有较大破坏性的动作前要求确认;

4) 在数据录入上允许取消大多数操作;

5) 减少在动作间必须记忆的信息数量;

6) 在对话、移动和思考中提高效率;

7) 允许用户非恶意错误,系统应保护自己不受致命动作的破坏;

8) 按功能对动作分类,并按此排列屏幕布局,设计者应努力提高命令和动作组织的内

聚性;

9) 提供语境相关的帮助机制。

2.10 信息显示原则

本系统信息显示遵循以下原则:

1) 只显示与当前用户语境环境有关的信息;

2) 不要用数据将用户包围,使用便于用户迅速吸取信息的方式表现信息;

3) 使用一致的标记、标准缩写和可预测的颜色,显示信息的含义应该非常明

确,用户不必再参考其它信息源;

4) 产生有意义的出错信息;

5) 使用缩进和文本来辅助理解;

6) 使用窗口分隔控件分隔不同类型的信息;

7) 高效地使用显示器的显示空间。

2.11 数据输入原则

本系统数据输入遵循以下原则:

1) 尽量减少用户输入动作的数量;

2) 维护信息显示和数据输入的一致性;

3) 交互应该时灵活的,对键盘和鼠标输入的灵活性提供支持;

4) 在当前动作的语境中使不合适的命令不起作用;

5) 让用户控制交互流,用户可以跳过不必要的动作、改变所需动作的顺序(如果允许

的话)以及在不退出系统的情况下从错误状态中恢复;

6) 为所有输入的动作提供帮助;

7) 消除冗余输入。可能的话提供缺省值、绝不要让用户提供程序中可以自动获取或计

算出来的信息。

3. 用户界面设计更改和追加说明

3.1 更改说明

更改本用户界面设计时应该征得所有开发者的同意,所有开发者应该按更正后的原则修改和设计用户界面。

3.2 追加说明

追加本用户界面设计时应该发布给所有开发者,所有开发者应该按追加后的原则修改和设计用户界面。

WINFORM应用程序开发规范

2008-06-19 08:56:05

一直想写一编关于Winform. UI规范化开发的文章,客户总是抱怨我们程序界面不美观,操作不方便。作为程序开发者,工作重点往往在业务逻辑实现上,或许他们可以设计很好的算法,将系统的资源占用率降的更低,使运行效率提得更高。但这些高质量的逻辑代码的用户是看不到的;用户衡量程序的好坏,除了运行结果正确与否外,非常重要的一方面就是界面是否规范,操作是否方便。

写这篇文章之前在同学齐的QQ空间中看到关于WPF/XAML技术的一些讨论。刚接触WPF/XAML这个字眼的时候,竟然不知所云,后来与他联系才得知是微软在.Net3.5中推出的一套构建应用程序UI全新的技术体系。技术的更新速度实在令每个程序员汗颜,每次当我们深入的探讨某技术时,首先面临的就是该技术即将淘汰的问题。因此我们在下面的讨论中尽量避免各种原则的技术实现细节。

关于B/S和C/S。BS作为当今业界流行的应用程序体系确实给用户和开发带来了诸多方便之处。但是不是BS就能完全代替CS呢?从我们多年的实际应用开发经验中得知,答案是否定的。BS体系由HTML发展而来,而HTML最初的发明者没有预料到浏览器作为应用程序体系中的客户端来实现当前如此复杂的功能,尽管后来仍然有很多技术(诸如JavaScript,Web2.0等)扩充到当前体系中来,但仍不能使浏览器做到具有像Winform程序一样丰富的用户交互效果。当一套应用程序中如果客户端数量可预知情况下,我们应当以CS结构来实现应用系统。

4. 2 WINFORM开发一般遵循的原则

4.1 2.1 窗体类型

我们把UI理解成窗体以及窗体上用户的交互规则。窗体主要包括主界面类型和对话框类型两种。

主界面指应用程序启动后最主要的界面,其生命周期一般与应用程序保持一致。通过菜单或按钮的形式调用其它子界面和执行功能。一般由以下几个部分组成。标题栏,菜单栏,工具栏,目录栏,工作区,信息输出区(栏)。此外很多应用程序中又增加一些漂浮的子窗体以面板的形式附加到主界面中。

对话框一般指应用程序中具有返回结果的窗体。一般表现为模态窗体,包括信息展现部分,信息输入部分和结果选择按钮三部分组成。

此外,UI部分除了主窗体和对话框外还有浮动窗体,托盘菜单等方式与用户交互。4.2 2.2 窗体设计原则

4.2.12.2.1 IDE是典范

不知道如何做界面,就去模仿V isual Studio。

程序员不是美工,不可能要求程序员像美工一样用Photoshop为应用程序设计UI窗体,尽管有很多程序员会使用Photoshop,甚至擅长于平面设计,但他们不是专业的,专业的平面设计和程序设计是完全不同的工作。也并非所有的应用程序都需要用专业的平面设计软件做出来的界面。IDE即是如此,IDE一般由操作系统提供的最基本的控件和经过封装的控件来构成,不同的IDE封装的控件外观大致相同。典型的例子是Delphi 和Visual Studio .Net。

4.2.22.2.2 尺寸比例

主窗体尺寸一般在运行期默认最大化,否则遵循纵横比为4:3,16:9为益。对话框除了和主窗体一样的原则外也有3:4(4:3旋转90度)的纵横比,总之窗体的尺寸只要保证纵横比屏幕一致。

当窗体元素太少,比如只有一个文本标签时,可以不遵循该原则,因为保证窗体尺寸纵横比之前首先要确定窗体不能有大范围的空白区域。

4.2.32.2.3 窗体控件元素

主窗体一般按菜单栏,工具栏等组成部分分为上中下左右五个分布区(TOP,Client,Bottom,Left,Right,),根据实际需求可能舍去某些分布区。分布区一般由Split Panel 控件分隔,这样可以使用户自行调节各个分布区的尺寸大小。注意处在不同分布区控件的Anchor属性,保证当窗体尺寸因鼠标拖动改变时控件尺寸按照分布原则变化。

下表为控件在不同分布区的Achor属性值。

对话框窗体布局按照结果选择按钮在窗体上的位置划分为以下三种形式:

第一种窗体一般固定尺寸大小。结果按钮居中,第二种和第三种可以是Sizeable 的窗体,结果按钮需要设置Anchor值来保持窗口大小更改后离窗口边框的距离。

注意窗口结果按钮的配对情况,一般是Y es 和No,OK和Cancel配对使用,OK和Close也常用。但如过Y es和Cancel配合就不合时宜了。

此外,还应当给对话框指定Accept Button和Cancel Button,Accept Button是窗体默认的按钮,当按回车键时将代替鼠标点击该按钮,同样点击Cancel Button和按Esc键效果是一样的。

按钮大小应该用鼠标在窗体设计器上单击产生的默认尺寸,除非按钮上文本太长否则不应该调整按钮的尺寸大小。这样做的好处就是系统中所有按钮大小保持一致。以鼠标拖拽的形式“画”出来的按钮,很难保证每次画的尺寸都一样。

4.2.42.2.4 Tab键次序

Tab键次序问题非常容易被忽视,UI开发经常遇到这种问题:本来界面上有若干文本框供用户输入信息,后来因为需求的变更需要增加一个项插入到某个文本框之前,此时问题就随之而来,IDE对输入控件的Tab值不会因为其上下左右排列次序自动生成,而是与输入控件的先后创建次序一致,因此在程序运行时会出现Tab定位输入框“跳格”,这就给用户带来极大的不便,甚至造成错误的输入。

由此可见,在UI设计时一定要注意输入控件Tab键次序问题。

4.2.52.2.5 快捷键

以下几种情况必须用快捷键操作程序:笔记本电脑没有可能没有外接鼠标,某些用户热衷键使用键盘,专业的操作人员为了提高工作效率不使用键盘。因此菜单和按钮要有快捷键。大部分Winform开发工具中只要设置菜单或按钮的Text属性包含号“&”+ 字符形式的为本即可。例如:“增加(&A)”在运行期就是“增加(A)”,使用快捷键为“Alt+A”。

4.2.62.2.6 INI文件保存默认值

应用程序若要提高用户的工作效率,必须尽量减少用户重复性工作,输入类控件(文本框,复选框等)应当遵循具有默认值的原则,默认值分为两种,高频值和上次输入值。

高频值实现较简单,只要根据实际需求设定输入控件的默认值为高频值即可,亦可写程序实现高频值的智能选取(类似中文输入法功能),但是笔者不提倡。

上次输入值一般由INI文件进行保存,当窗体对象创建时,读取INI进行加载保存到文件中的值。操作INI文件的具体实现可以参阅相关资料。在此需要注意的只有一点,尽可能早的保存INI文件。一般当确定按钮点击后实现其他业务逻辑之前,首先保存INI 文件,这样可以避免后面因为业务逻辑异常而造成INI文件保存被取消的可能。也有人习惯在窗体对象的析构方法中保存INI,这就更不提倡了。在后来的语言中对象的释放越来越不可控,很难知道什么时候才能被调用,我们应尽量不去在析构方法中编写功能代码。

ComboBox控件默认值不设置情况下索引为-1而不是0,使用时一定要确定它是否可编辑,如果类似选择数字字典的形式,那么它一定是不可编辑的,如果不设置其类型属性使其可编辑,那么用户在实际操作过程中可能直接输入字符串,显然这是错误的。

4.2.72.2.7 右键菜单

右键菜单多用于容器类控件,通常用于对容器控件中包含的选中态元素进行操作,右键菜单一般不包含复选类菜单项,因为右键菜单默认情况下是不可见的。

4.2.82.2.8 避免重复嵌套面板

不管是GroupBox,Panel,还是TabControl作为容器控件不应该重复嵌套太多。GroupBox包含RadioButton时,假如窗体只有一组RadioButton则不使用GroupBox。

4.2.92.2.9 UI开发异常处理

目前主流的Winform开发工具中,都包含了异常处理功能。比如点击某个按钮出现异常时,应用程序并不退出,而是将异常信息以对话框的形式提示用户,并终止异常后的逻辑处理。因此在Winform程序中异常捕获语句除非有特殊的处理语句和抛出自定义异常外,一般不建议使用异常处理代码。例如以下伪代码:

Try {

// To do something ….

.}

Catch (Exception ex)

{

//这里必须有类似MessagBox之外的处理语句或者throw 新的异常类对象,比如关

MessageBox.Show(“程序失败\n” + ex.Message);

}

假如必须使用MessageBox类的代码重新包装对用户的信息提示,那么必须注意不要把原来异常的信息丢失。这些异常信息是程序维护和开发人员所关心的。如果客户不能接受这类信息的展现,则以输出日志形式将异常信息保存到存储设备。

当然还有一类代码结构确实是捕获异常但不处理的情况,此时不适合上述原则。

《.NET-WinForm编程》课程设计-模板

《.NET WinForm编程》课程设计题目:智能QA系统的设计与实现 学院/ 系软件学院 专业信息管理与信息系统专业(日英强化)年级 2009级 学号 00988**** 作者姓名 **** 2012年 7月 5日

本次课程设计题目为智能QA系统的设计与实现,首先介绍了QA技术的现状,然后提出一个基于QA的数字信息化领域的架构,并对相关关键技术进行了讨论,最后说明了QA在数字信息化领域的应用前景。 本系统由三个模块组成,QA管理模块、答案管理模块和信息查询模块。QA管理模块包括信息的新增,修改,删除。答案管理模块实现了答案的基本操作,信息查询模块要求在输入查询条件后,会根据一定的逻辑输出答案。由于各模块的分开及进入系统前验证用户身份,也加强了各种信息的安全性及保密性。 根据系统所需功能,决定以Windows XP为开发平台,采用SQL Server 2005做后台数据库,选择功能强大的Visual Studio 2008为开发工具,利用软件工程思想和方法,总体上用结构化生命周期法进行系统分析和设计,采用快速原型法来实现,系统本系统界面友好,与目前市场上的主流游戏软件大体一致,而且操作更加简单,使用方式和微软各种软件(Windows、Office)基本相同,减少了用户学习、使用本游戏系统的额外负担。本文通过系统概述、系统分析、系统设计、系统实施、开发总结五章,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结。 该系统使用了功能强大的.NET WinForm开发技术,使用了基于MVC机制的三层架构。操作方便,可维护性强。经过大量的测试,基本符合用户需求。 关键字:智能OA;信息查询;三层架构;C#

实验1:WinForm程序设计

实验一:WinForm程序设计 实验名称:WINFORM程序设计学时安排: 2课时实验类别:验证型、设计型实验要求:1人1组 一、实验目的和任务 1.掌握创建WinForms应用程序的步骤 2.熟悉WinForms应用程序的控件 二、注意事项和要求 1.第一部分必须要完成,第二部分尽量完成,第三部分供有余力的同学完成; 2.完成后上传项目压缩文件到ftp服务器指定目录,压缩文件名称:学号(后两位)-姓名。 三、实验内容和步骤 1.第一部分:跟着老师练习 1)创建一个名为AppSum的WinForms应用程序,要求用户在文本框中输入2个数字, 然后求2数之和。效果如下图所示: 2.第二部分:自己思考练习 1)创建一个Windows窗体应用程序,允许用户从给定的颜色和字体列表中选择颜色、字 体等设置。用户还可以通过将标准颜色用作基本颜色来创建自定义颜色,并使用滚动 条来增大/减小红色、蓝色和绿色的渐变。选定的颜色应适用于窗体界面。选定的字体 中应显示一个文本示例。效果如下图所示:

2)具体步骤: 新建一个名为AppSettings的Winforms应用程序项目,并将主窗体重命名为FrmSettings。 拖动一个TabControl控件到窗体上,name属性改为tagSettings;选择tagSettings 控件的TabPages属性并单击右边的“…”按钮;出现“TabPage集合编辑器”对 话框。添加两个选项卡页,并将其分别命名为tabColor和tabFont,对应的Text 属性设置为“颜色”和“字体”。 拖动工具箱中的控件来设计窗体,颜色标签页对应的窗体如下:

WinForm界面布局

WinForm界面布局 Dock&Anchor Dock和Anchor是水火不容的,同时给控件设置Dock和Anchor属性时后设置的会覆盖前面的设置。 Dock 我初接触WinForm的时候发现控件的Width和Height只能是int,不能设置为百分比,那个时候就想子控件如何跟着父控件而变化呢?父控件变大就变大,而且还填满那个区域。甚至以为这个需要通过代码来解决,如是在SizeChanged事件里…… 后来才发现我要的就是Dock给的,Dock是停靠的意思。Dock属性的类型是DockStyle枚举: 1:public enum DockStyle 2:{ 3:None=0, 4:Top=1, 5:Bottom=2, 6:Left=3, 7:Right=4, 8:Fill=5 9:} 默认是None,当为Left的时,就表示子控件停靠在父控件的左边区域,并把左区域填充满: 上图中的Panel总是会停靠在Form的左边区域,不管如何调整Form的高度,它总是能把左边区域填满。Dock麻烦的地方在于多个控件碰到一起时,比如有两个Panel都设置为Left 该怎么办?我们会发现向父控件的Controls集合中添加子控件,越晚添加具有更高的“优先级”(不知道有没有这个说法,这是我杜撰的)。这里的优先级指的是,子控件“优先级”越高,

越靠近父控件边缘,其他子控件就得避让: [我的见解;通过选中控件,一般是pannel,右键选择置为底层,来决定控件间的优先级] this.Controls.Add(this.panel1); this.Controls.Add(this.panel2); Panel2后添加进去,所以它具有更高的优先级,更靠近Form的边缘。这个规则不仅仅对于Dock都设为Left的有效,对Dock属性不同,但是碰到一起的子控件也适用: 1:this.panel1.Dock=DockStyle.Left; 2:this.panel2.Dock=DockStyle.Left; 3:this.panel3.Dock=DockStyle.Top; 4: 5:this.Controls.Add(this.panel1); 6:this.Controls.Add(this.panel2); 7:this.Controls.Add(this.panel3); panel3的Dock设置为Top,最后添加到Controls集合中,所以具有最高的优先级,其他两个panel都得避让:

winform界面设计规范

winform界面设计规范 Winform开发一般遵循的原则 窗体类 型 ..................................................................... .............. 2 尺寸比 例 ..................................................................... .............. 3 窗体控件元 素 ..................................................................... ..... 3 Tab键次 序 ..................................................................... ........... 5 快捷 键 ..................................................................... ................... 5 右键菜 单 ..................................................................... .............. 5 区域排 列 ..................................................................... .............. 6 UI开发异常处理..................................................................... 6 执行动作要提 示 ..................................................................... 7 文字表 达 .....................................................................

C#登录界面设计教案

课题:登录界面窗体设计 一、教材分析 《C#程序设计基础教程》第六章的form2登录界面窗体设计里,介绍了登录界面的制作过程。本课强调学生对于C#语言的理解能力以及窗体设计的实际操作能力。按照新课改的教学理念,要注意培养学生的信息素养,培养学生不断探索新知识的能力,所以本课重在培养学生通过已有知识的掌握,自己主动去解决新的问题,只有具备这种能力,才能不断的去探究去创新。在内容上,本课是把前面学习C#程序设计语言实际运用到窗体的触发事件的代码设计中,是对前面所学语言的灵活运用,是前面知识的拓展和延伸;同时对于窗体的各个控件的学习,也为下面更复杂的窗体设计作了一个很好的铺垫,起到承上启下的作用。 二、学情分析 本课的授课对象是五年制大专电子商务专业四年级的学生,他们已经具备了一定的信息素养和动手能力,本学期学生同时还上了另外一门网页制作的课程,网页制作里涉及到一些控件的使用跟本课知识点有些类似,所以学生已经掌握了一些控件的使用方法以及属性的设置方法,对于窗体的简单设计已经有一定基础。但是作为非计算机专业学生,对于控件的触发事件的代码编写还是有不少困难的,所以本课降低难度,学生只要理解相关代码,并进行运用即可,不要求学生一定要自己编写代码,学有余力的同学可以尝试独立编写代码,所以可以进行分层教学,体现了新课标里的让所有的学生都参与到学习中来! 三、教学目标 1、知识与技能 a.掌握Form窗体、Button按钮、Text文本框和Label标签的创建和设置方法以及它们 相关属性的设置方法。 b.掌握Button按钮的Click单击事件的触发方式,并能够理解相关触发事件的代码设计。 c.初步掌握利用各类窗控件制作出简单的窗体设计作品。 2、过程与方法 a.通过教师的知识点讲解以及学生的自主探究和合作学习,使学生掌握新的知识点。 b.通过学生亲手动手实践,自主探索,使学生基本掌握简单窗体设计的方法。 c.采用任务驱动、自主学习、探究学习、合作学习等教学方法,让学生观察、思考、交 流,培养学生自主学习、合作探究的能力。 3、情感态度与价值观

WinForm UI设计与开发思路

WinForm UI 设计与开发思路 最近一年来一直在做WinForm 相关的系统,对WinForm 的UI 设计有一些想法想和大家讨论(主要是比较忙,所以很多只是设想,还没有开发实例) 关于WinUI ,理想的情形应该是外观比较cool ,能给用户良好的使用体验和印象,同时又兼顾功能强大和容易开发。但基于传统的.NET WindowsForms ,恐怕除了容易开发,在其他方面的指标都很普通了。如果为了界面和功能,则复杂度会提高很多,用大量的GDI+和API 操作,相信会让很多人头痛不已。 以下是一些思路: Custom Control 写代码定制控件 Shell Style 利用Shell Style 工具 Flash Control 利用Flash 控件 Html Control 利用Html 控件 编程来实现各种样式的控件,这个是大家比较熟悉和常用的方法,也是上面提到过的。我们现在集中来讲解一下后面三种。 Windows Shell Style 不知道大家在厌倦了Windows 默认的窗体和菜单后,是不是用过一些改变Windows 外观的软件,例如StarDock 公司的很多产品(WindowBlinds 总知道吧)以及TGTSoft 的StyleXP 。

轻松改变Windows程序的外观 事实上微软在Win2000,XP,2003系统上均引入了Visual Style的概念,也就是系统外观主题。它提供了一些API,可以方便地修改Windows窗体和控件的整体外观呈现。所以我们一般在改变Windows的主题后,一般大部分程序的按钮、形状都会跟着改变(在.NET中可能需要将控件的FlatStyle设成System并且EnableVisualStyles()才会有效) 这里要提的是TGTSoft的StyleXP工具,它基于Windows Visual Style架构,同时又有自己的API,此外,它还有其他一些优点,比如它的每种外观样式,全部打包在一个DLL文件中,同时还有相应的工具(StyleBuilder)来制作这些样式DLL。 在安装完StyleXP后,我们可以在"C:\WINDOWS\Resources\Themes\主题名称 \shell"目录中找到该主题的DLL文件。 StyleBuilder让你定制自己的Windows外观 有了这些基础,我们就可以在我们的程序中利用ShellStyle的API来应用这些外观样

winform界面设计规范

Winform开发一般遵循的原则 窗体类型 (2) 尺寸比例 (3) 窗体控件元素 (3) Tab键次序 (5) 快捷键 (5) 右键菜单 (5) 区域排列 (6) UI开发异常处理 (6) 执行动作要提示 (7) 文字表达 (7) 颜色使用恰当,遵循对比原则 (8)

窗体类型 我们把UI理解成窗体以及窗体上用户的交互规则。窗体主要包括主界面类型和对话框类型两种。 主界面指应用程序启动后最主要的界面,其生命周期一般与应用程序保持一致。通过菜单或按钮的形式调用其它子界面和执行功能。一般由以下几个部分组成。标题栏,菜单栏,工具栏,目录栏,工作区,信息输出区(栏)。此外很多应用程序中又增加一些漂浮的子窗体以面板的形式附加到主界面中。

对话框一般指应用程序中具有返回结果的窗体。一般表现为模态窗体,包括信息展现部分,信息输入部分和结果选择按钮三部分组成。此外,UI部分除了主窗体和对话框外还有浮动窗体,托盘菜单等方式与 用户交互。 尺寸比例 主窗体尺寸一般在运行期默认最大化,否则遵循纵横比为4:3,16:9为益。对话框除了和主窗体一样的原则外也有3:4(4:3旋转90度)的纵横比,总之窗体的尺寸只要保证纵横比屏幕一致。 当窗体元素太少,比如只有一个文本标签时,可以不遵循该原则,因为保证窗体尺寸纵横比之前首先要确定窗体不能有大范围的空白区域。 窗体控件元素 主窗体一般按菜单栏,工具栏等组成部分分为上中下左右五个分布区(TOP,Client,Bottom,Left, Right,),根据实际需求可能舍去某些分布区。分布区一般由Split Panel控件分隔,这样可以使用户自行调节各个分布区的尺寸大小。注意处在不同分布区控件的Anchor属性,保证当窗体尺寸因鼠标拖动改变时控件尺寸按照分布原则变化。 下表为控件在不同分布区的Achor属性值。

Winform设计界面规则(与大家共享)

一份界面规范(c/s),和大家共享(摘录) Posted on 2006-07-04 09:33 东人EP阅读(158) 评论(0)编辑收藏引用所属分类: .NET 在参考了很多资料后,整理出来的一份界面规范(是c/s程序的,但其中的原则部分对任何界面都是具有参考价值的),希望能给大家带来帮助。 其中的图片没有贴上来,因为文字已经足够描述清楚了。 ------------------------------------- 1. 界面规范 1.1. 总体原则 l 以用户为中心。设计由用户控制的界面,而不是界面控制用户。 l 清楚一致的设计。所有界面的风格保持一致,所有具有相同含义的术语保持一致,且易于理解 l 拥有良好的直觉特征。以用户所熟悉的现实世界事务的抽象来给用户暗示和隐喻,来帮助用户能迅速学会软件的使用。 l 较快的响应速度。 l 简单且美观。 1.2. 原则详述 1.2.1. 用户控制 用户界面设计的一个重要原则是用户应该总是感觉在控制软件而不是感觉被软件所控制。 l 操作上假设是用户--而不是计算机或软件--开始动作。用户扮演主动角色,而不是扮演被动角色。在需要自动执行任务时,要以允许用户进行选择或控制它的方式来实现该自动任务。l 提供用户自定义设置。因为用户的技能和喜好各不相同,因此他们必须能够个性化界面的某些方面。Windows为用户提供了对许多这方面的访问。您的软件应该反应不同的系统属性--例如颜色、字体或其他选项的用户设置。 l 采取交互式和易于感应的窗口,尽量避免使用模态对话框,而使用"非模式"辅助窗口。"模式"是一种状态,它排除一般的交互,或者限制用户只能进行特定的交互。当最好使用一个模式或该模式只是可替换的设计时--例如,用于在一个绘图程序中选定一个特定感觉-- 请确保该模式是显然的、可见的,是一个明确的用户选定的结果,并且容易取消。 l 在后台运行长进程时,保持前台式交互。例如,当正在打印一个文档,即使该文档不能被改变,用户也应该可以最小化该窗口。 l 谅解。用户喜欢探索一个界面,并经常从尝试和错误中学习。一个有效的界面允许交互式

winform界面风格规范-v1.1

界面设计规范

1.引言 1.1 设计说明 本文档是对系统界面设计风格进行描述,而和用户交互的最终界面将会中项目《详细设计说明书》中设计和解释。 1.2 概念和定义 1. 用户界面 又称人机界面,实现用户与计算机之间的通信,以控制计算机或进行用户和计算机之间得数据传送的系统部件。 2. GUI 即图形用户界面,一种可视化得用户界面,它使用图形界面代替文本界面。 开发人员必须选择仔细选择窗体,并且要理解为什么比其他形式的窗体更适用。 3. 主要窗体(Primary Windows) 主要窗体包含了一个应用程序的大部分功能,大多时候它是一个单独的窗体,但在一个MDI风格的应用程序中,父窗体和子窗体都被认为是主要窗体。 1) Single Document Interface (SDI) 一个单独的主要窗体通常包含一个菜单栏、工具栏和状态栏,打开此窗体时应该运 行在当前所有窗体的上面,并且在任务栏提供显示,就像记事本和写字板程序。 2) Multiple Document Interface (MDI) 通常适合有多个任务,或同时管理所有的窗口。例如Microsoft Word,Excel和V isual Basic。 3) Split Document Interface (split SDI或Explorer) 是一个分隔的主要窗体,通常包括菜单栏、工具栏和状态栏。例如资源管理器和 Outlook。 4. 次要窗体(Secondary Windows) 一个次要窗体通常用于为主要窗体提供补充信息和交互作用,界面比较简单。 1) Modal dialog boxes(模态对话框) 2) Modeless dialog boxes(非模态对话框) 3) Property sheet 1.3 用户假定

[https://www.sodocs.net/doc/d26822503.html,教程]Winform开发中常见界面的DevExpress处理操作

[https://www.sodocs.net/doc/d26822503.html,教程]Winform开发中常见界面的DevExpress处理操 作 我们在开发Winform程序的时候,需要经常性的对界面的一些控件进行初始化,或者经常简单的封装,以方便我们在界面设计过程中反复使用。本文主要介绍在我的一些项目中经常性的界面处理操作和代码,以便为大家开发的时候提供必要的参考。 1、选择用户的控件封装操作 在一些系统模块里面,我们需要选择系统人员作为经办人员的操作,如下面几个界面场景所示。 我们注意到,一般在我们选择的时候,界面会弹出一个新的层给我们选择,里面通过列表详细展示相关的信息,还可以支持搜索,非常方便。 当我们完成选择的时候,我们看到界面会只有一个人员名称的显示,不占用额外的地方显示。 这种界面效果是如何实现的呢?下面进行详细的介绍。 1)首先我们定义一个自定义控件,让其继承自XtraUserControl 即可。/// <summary> /// 经办人员、

操作人员的选择控件封装/// </summary> public partial class OperatorSelectControl : XtraUserControl { 2)然后在DevExpress的界面工具箱上拖动一个SearchLookUpEdit 控件到我们新的用户控件OperatorSelectControl 上。 调整好用户界面控件的排版相关属性,就会得到下面的界面所示。 3)在设计视图里面,我们为这个SearchLookUpEdit控件的GridView设置它的显示字段,如下所示,每个字段主要绑定FieldName(属性或者字段)和Caption(显示名称)。 这些必备的处理操作完成后,我们可以通过代码或者设计器把这个控件的显示内容和存储内容进行设定,并绑定它的数据源即可(根据需要调用自己的函数),如下所示。private void OperatorSelectControl_Load(object sender, EventArgs e) { if (!this.DesignMode) { txtOperator.Properties.ValueMember = "ID"; txtOperator.Properties.DisplayMember = "FullName"; txtOperator.Properties.DataSource =

WinForm UI设计与开发思路

WinForm UI设计与开发思路 最近一年来一直在做WinForm相关的系统,对WinForm的UI设计有一些想法想和大家讨论(主要是比较忙,所以很多只是设想,还没有开发实例) 关于WinUI,理想的情形应该是外观比较cool,能给用户良好的使用体验和印象,同时又兼顾功能强大和容易开发。但基于传统的.NET WindowsForms,恐怕除了容易开发,在其他方面的指标都很普通了。如果为了界面和功能,则复杂度会提高很多,用大量的GDI+和API 操作,相信会让很多人头痛不已。 以下是一些思路: 编程来实现各种样式的控件,这个是大家比较熟悉和常用的方法,也是上面提到过的。我们现在集中来讲解一下后面三种。 Windows Shell Style 不知道大家在厌倦了Windows默认的窗体和菜单后,是不是用过一些改变Windows外观的软件,例如StarDock公司的很多产品(WindowBlinds总知道吧)以及TGTSoft的StyleXP。

事实上微软在Win2000,XP,2003系统上均引入了Visual Style的概念,也就是系统外观主题。它提供了一些API,可以方便地修改Windows窗体和控件的整体外观呈现。所以我们一般在改变Windows的主题后,一般大部分程序的按钮、形状都会跟着改变(在.NET中可能需要将控件的FlatStyle设成System并且EnableVisualStyles()才会有效) 这里要提的是TGTSoft的StyleXP工具,它基于Windows Visual Style架构,同时又有自己的API,此外,它还有其他一些优点,比如它的每种外观样式,全部打包在一个DLL文件中,同时还有相应的工具(StyleBuilder)来制作这些样式DLL。 在安装完StyleXP后,我们可以在"C:\WINDOWS\Resources\Themes\主题名称 \shell"目录中找到该主题的DLL文件。 有了这些基础,我们就可以在我们的程序中利用ShellStyle的API来应用这些外观样式,通过加载不同的资源DLL,就可以轻松改变软件的外观。当然这种方式中,你所使用的控件还是传统的Windows控件,所以还是有一定局限性。 至于如何利用ShellStyle的API,CodeProject上有一个不错的例子:Themed Windows XP style Explorer Bar Flash Control 我们知道Flash的出现和广泛流行都是由于Web环境,但Flash发展到今天,其功能已不

WinForm界面排版

界面的排版往往决定你的版面可观度,在一年的工作中总结出了一点自己的经验,不知道别人怎么样弄的,反正这是我原创,希望能够对大家有所帮助。 效果预览: 1、新建Form后放一个容器,可以统一选择GroupBox或者Panel,因为Form要停靠在MDI主窗口上,所以我觉得用GroupBox比价好一点。将GroupBox锚定(ancor)为上下左右。 2、查询条件放在上面,选择一个Panel,命名为pnlTop,Panel锚定为左右上,这样就可以在Panel里面放查询控件。 3、下面放一个Panel,命名为pnlBottom,这个Panel锚定为上下左右。 4、在pnlBttom里面上面放一个Panel,命名为pnlBottomTop,锚定为上下左右,在pnlBottomTop里面放GridView,将它锚定为上下左右。 5、在下面放一个Panel,命名为pnlBottomBottom,将它锚定为下左右,在里面放分页控件,将其锚定为左上。 6、在最上Panel中靠左的控件左上锚定,靠右边的右上锚定,在下层Panel中靠左边的控件锚定为左上,靠右边的锚定为右上。

上面的是两层结构,如果是三层的话则最上层锚定为上左右,中间锚定为左右上下,最下层锚定为下左右。命名的话pnlTop,pnlMiddle,pnlBottom,有多层嵌套的话则类推。 panel与panel之间的距离容易产生1-2个px的偏差,则进行多页面切换时容易产生抖动,很难看的。 解决的办法 一:设定panel的location 二:通过上下左右键调整panel的location,通过shift+上下左右键可以调整panel的size。希望对大家有用。

Winform开发框架主界面设计展示

Winform开发框架主界面设计展示 做了好多年Winform的程序的开发,主窗口的界面设计一般都要求做的更好一些,可以根据不同的系统功能模块进行归类整合,能使客户迅速寻找到相关功能的同时,也能感觉到整体性的美观大方,因此主窗口的界面设计总是会精益求精,力求做到更好用、更美观,这样才能吸引客户使用。目前的主体界面设计,可以使用很多控件进行美化,这样能使得开发者能够迅速开发好美观的界面,也可以使得界面总体性有一个统一、规范的基准。一般推荐使用DevExpress 或者DotNetbar这两款界面控件套件,他们都能设计出类似Office的Ribbon界面,这种界面整体感觉会比较好一些。1、标准的DevExpress样式界面 在我的Winform开发框架中,也分为了传统性界面、DotNetBar样式界面、DevExpress样式界面这三种,根据不同的开发场景进行使用,如果是历史性原因导致,那就根据需要选择,如果是新的程序开发,那么建议采用DevExpress 样式的界面,这种界面样式,经过我这几年的开发应用了解,觉得真的非常棒,非常强大,基于Dev样式的《Winform开发框架》主体界面设计如下所示。 这个主体界面是Ribbon样式的界面,它分为了几个部分,我

从顶部开始到下面进行介绍。 1)、顶部样式选择 DevExpress控件可以将窗体的空间运用到极致,很多细微的地方都可以用起来。在开发的应用程序中,增加这个样式选择,也会使客户觉得这个程序开发也是非常专业的(^_^)。 2)、主程序菜单 在Ribbon样式中,添加这种样式的主程序菜单,比增加一个顶部的MenuBar来的好看,这也是标准的Office程序的Ribbon样式菜单,我们可以在里面添加各种层级的菜单,如下面是一个简单的退出和重登录菜单。 3)、主界面帮助小按钮 主界面的右边可以放置一些小按钮,如在程序中放置一个帮助小按钮,用来给客户提供帮助或者技术支持的网址链接,都是不错的选择。 4)、Ribbon样式分组按钮 在我的Winform开发框架中,通过图文并茂的功能按钮,可

WinForm界面设计规范

Chip系统规范 界面设计-WinForm(V1.0) 1.总原则 Chip系统界面设计,需要遵循以下原则: 1,一致:命名的一致、大小的一致、操作的一致、逻辑的一致; 2,简约:用简单、向导性、无歧义的文字表示系统的意图; 2.按钮(Button) 1,功能按钮的摆放要将关联性高的摆放在一起,如: 2,任何界面的“退出”操作要摆放在最右侧,下面是不符合逻辑的图例: 3,功能按钮的名称要统一,如查询条件之后的搜索按钮,统一命名“查询”,而不是“搜索”。 4,相同操作的功能按钮,在不同的界面中要有一致的命名、大小、颜色、背景、快捷键等。5,表示新增操作的功能按钮,其文本内容都要是“新建”,代码的命名中要带有New。6,表示编辑操作的功能按钮,其文本内容都要是“编辑”,代码的命名中要带有Edit。 7,表示删除操作的功能按钮,其文本内容都要是“删除”,代码的命名中要带有Del。 8,表示保存操作的功能按钮,其文本内容都要是“保存”,代码的命名中要带有Save。9,表示确认操作的功能按钮,其文本内容都要是“确定”,代码的命名中要带有OK。 3.列表(DataGird或DataGridView) 1,列表的列头要将关联性高的摆放在一起,正确的格式如: 2,列表要有明确的默认排序,如一般按照操作时间倒序,很少有程序要求是按照操作时间升序排列。 3,列头不换行。 4,列头的宽度要根据列的内容自定义,一般情况下,列头的宽度要略宽于单元格平均的宽度,如果列头的文字内容多于单元格,则列宽要超过列头所有文字再加两个汉字宽度。

不可以所有的单元格的内容都紧紧的依靠单元格的分割线,正确的格式如: 不正确的格式如: 5,如果所有列宽小于列表的宽度,列头的最后一列就要撑满整个列头,如: 6,在不同界面中,表达同一业务概念的列头或者文字标签或者文字内容,要有一致的命名,比如所有表述房间类型的地方都叫“房型”。一定不可以出现的情况是,在列表界面中的查询条件中出现的输入框的文字标签内容和查询结果列表中的列头名称不同。 7,任何列表,都应该被一个GroupBox包围,该GroupBox的文本内容要能简约地表示列表的内容,如: 8,默认情况下,列表都是要考虑分页,分页要用系统默认的分页组件,如上图。 9,在客户端中,所有列表的背景都用Info颜色,不要使用系统默认的灰黑色。 10,在查找不到结果时,列表内容以及分页显示数据都要复原或清空。 4.文本输入框和文字标签(TextBox和Label) 1,任何有文本输入框的地方,一定要考虑文本输入框的格式,也一定要校验用户输入的内容,需要校验的是:是否必须输入、长度是否符合约定、内容是否符合格式要求。 2,任何文本输入框的前面,都要摆放一个文字标签,用来概括后面跟着的文本输入框的内容,文字标签中文字的内容后面要有1个英文的冒号,该冒号与文本输入框之间要有2

C# winform 登录界面

17L,长见识了,我还没看到过这样写登陆界面的呵呵,谢谢。 form2 f2=new form2(); f2.show(); this.Close 一般这样写的,会把整个程序关闭,原因是因为Form1拥有Main的UI线程,所以关闭导致整个程序关闭。 一般写登陆简单的是 form2 f2=new form2(); f2.show(); this.Hide(); 就是把它隐藏了。但是要记住,当你MainForm关闭的时候不能this.Close()来关闭程序。 应该Application .Exit ()来退出,因为前者没有关闭UI线程,也就是主线程。

贴出我的写法 private void FormStart()//声明一个发开Form2的方法 { Application.Run(new Form2());//运行1个新的程序窗口 } private void button1_Click(object sender, EventArgs e)//form1的按钮点击事件 { Thread thread = new Thread(new ThreadStart(FormStart));//这里可能有人看不懂,ThreadStart方法参数是上面那个方法名,对方法被作为参数了,如果你看过委托就会了,当然这里不是讨论委托。 thread.Start();//定义1个线程;执行FormsStrat函数; this.Close(); } 用到了线程来写。添加引用using System.Threading;就这么简单。很多人不会做系统重新登陆,用这个方法也可以做的。

用C#制作 个性化窗体 winform 界面

引言: 谁都希望自己的应用程序能让人留下一个深刻的印象,让自己的程序窗体有一件与众不同的"外衣"是一个好办法。试想:在一大堆的普通窗口中突然跳出一个很酷的界面,一定能让人眼睛一亮进而产生兴趣的。在VB,VC中如何定制可伸缩个性化窗口早就不是什么秘密了,已经有了大量相关的文章进行介绍,无非都是如何调用系统API之类的方法,但是在.Net中调用API却相对比较麻烦,所以使用.Net制作个性化窗体的文章也有一些,一般都是使用透明背景加图片的方式,所以不能移动或者不能任意放大缩小窗体。那有没有不需要调用系统API的方法来实现可伸缩的个性化窗体的办法呢?当然有,.Net Framework提供了一套非常强大的系统类库,我们下面就要做一个使用"纯".Net打造的可伸缩个性化窗体。 我们需要将窗体所有的"皮肤"全部换成我们自己定义的,包括标题栏,边框和系统按纽等,所以我们首先需要定做一套自己的皮肤图形文件。因为窗体是可伸缩的,所以我们不能简单的取一整幅图片来作为窗体皮肤,而是根据需要先将图片切割为不同的部分,一般来说,有以下图示几大部分(红线为切割线): 根据方位,将图片各部分命名为:Bottom_Left,Bottom_Middle,Bottom_Right,Middle_Left,Middle_Right,Top_Left,Top_Middle,Top_Right,SysButton_Min,SysButton_Max,SysButton_Close,SysButton_Restore等。注意,有些图片是可以伸缩的地方,比如Middle_Left,Bottom_Middle等处的图片可以只是一小块,以后需要进行重复贴图。而有些固定大小的图片,比如Bottom_Left,Top_Left等以后只用贴一次,实际应用的时候要注意区分。 采用以上原则,你便可以制作皮肤图片,图示如下:

WinForm界面开发之“分页控件”

WinForm界面开发之“分页控件” 在程序中,分页总是永远的话题,因为数据总是很多很多,分页展示在程序性能和数据查看感官方面得到很好的平衡,是一种良好的编程习惯和UI设计。 Winform中的分页控件可能没有https://www.sodocs.net/doc/d26822503.html,世界中的分页控件那么丰富多彩,不过也有不少的分页控件可以采用,各个人的可能都有一些不同的东西,一些好的东西。就我而言,我希望控件能够尽可能的多一些功能,耦合性低一些,例如我不想是基于存储过程的,因为我很多程序需要使用Access作为数据库,一般来说,我还希望有导出Excel数据的功能,还有打印预览功能,由于我的数据源表头,如实体类集合、表格内容绑定的时候,表头是英文的,我需要变为中文的,其他的功能有则更好。本篇介绍我在我的共享软件中大量使用的分页控件,如送水管理系统软件、病人资料管理软件等等,希望大家有兴趣的话,可以一起讨论使用该分页控件。以便整理吸收更多好的特性,共同学习。 先给大家一个总体感觉,这是我在送水软件中的界面展示,红色圈圈部分是分页控件的展示界面。

大家可以看到,除了基本的分页外,还有其他功能,如导出当前页、导出全部页、打印列表、以及相关功能操作的菜单(只要实现了相关的接口,则呈现相同的菜单,另外还有一些小地方,也是很常用关键的地方,就是间隔行的颜色变化,表头的中文化,行提示内容等等,我认为这些分页控件应该做的,特别是表头中文化部分很重要,因为这个分页控件的数据源是基于一般的对象集合(如List())或者DataTable的,因此数据源的表头可能是英文的(一般都是^_^)。

导出Excel是基本的功能,本控件支持当前页导出,全部页导出两种模式,导出的Excel 数据也还是比较好看的,不是一般的格式哦。 控件另外一项功能,也是集实用功能之所成,打印当前列表内容,如下图所示,该内容会保存用户在每个列表数据中的信息,打印不同的表头内容,如下图所示。

相关主题