Windows的通用图形界面的出现,使计算机用户不必通过专门的学习就可以得心应手地使用各种Windows的软件。不仅如此,它还是程序设计者在设计Windows程序界面时所必须遵循的标准,这在很大程度上减轻了程序设计者的负担,使他们能够把主要精力放在问题的求解和实现上。

  Visual Basic(以下简称VB)的出现,更加简化了Windows程序界面的设计工作,只需要极少量的代码,就能实现标准Win-dows应用程序的界面。但是,如果不了解Windows程序界面设计的原则,或者不熟悉VB下界面编程的技巧,就难以设计和实现既符合一般标准又具有特色的界面。

界面设计的原则

  界面设计具有一般性的原则,最为重要的有:

1.界面要具有一致性。一致性原则在界面设计中最容易违反,同时也最容易修改和避免。例如,在菜单和联机帮助中必须使用相同的术语;对话框必须具有相同的风格等。

2.常用操作要有捷径。常用操作的使用频度大,应该减少操作序列的长度。例如,为文件的常用操作如打开、存盘、另存等设置快捷键。使常用操作具有捷径,不仅会提高用户的工作效率,还使得界面在功能实现上简洁和高效。

3.提供简单的错误处理。系统要有错误处理的功能。在出现错误时,系统应该能检测出错误,并且提供简单和容易理解的错误处理功能。错误出现后系统的状态不发生变化,或者系统要提供错误恢复的指导。

4.提供信息反馈。对操作人员的重要操作要有信息反馈。对常用操作和简单操作的反馈可以不作要求,但是对不常用操作和至关重要的操作,系统应该提供信息的反馈。

5.操作可逆。操作应该可逆。这对于不具备专门知识的操作人员相当有用。可逆的动作可以是单个的操作,或者是一个相对独立的操作序列。

6.设计良好的联机帮助。虽然对于熟练用户来说,联机帮助并非必不可少,但是对于大多数不熟练用户来说,联机帮助具有非常重要的作用。

菜单设计的原则和编程

菜单设计有如下的一般性原则:

按照系统的功能来组织菜单。

要选用广而浅的菜单树,而不是窄而深的菜单树。

根据菜单选项的含义进行分组;并且按一定的规则排序。

菜单选项的标题要力求文学简短、含义明确,并且最好以关键词开始。

常用选项要设置快捷键。

结合以上的原则,菜单编程有以下几方面的技术和技巧:

菜单选项的分组

  在VB中,菜单选项的分组是通过菜单栏分隔横线实现的。在菜单的一定位置增加一个Ca ption属性为"-"的菜单项,它在菜单上就表现为一条横线。在许多情况下,同一个功能菜单下又可以按照菜单选项的功能分为几组,这时就可以用分隔横线来实现菜单项的分组。

常用选项快捷键的设置

  打开菜单设计窗口(Menu Design Window),应对于每个菜单选项有相应的快捷键(Short cut)列表,在该表中选择一个即可。需要注意的是,具有子菜单的菜单或者顶层菜单的快捷键不能这样定义。按照Windows的界面设计原则,顶层菜单的快捷键的形式是Alt+字母键。

  对于一些常用的功能菜单项,有约定俗成的快捷键。例如,文件打开用CTRL+O,文件存盘用CRTL+S,打印用CTRL+P,等等。

  为菜单选项定义好快捷键之后,菜单上该选项的后面就出现了快捷键的文字表示。

菜单选项的使能与禁止、可见与隐藏

  为了表示菜单选项的一些特殊功能,可能要用到菜单选项的使能与禁止、可见与隐藏属性。当因为某种原因使得某个选项所代表的功能不能被实现时,就应该禁止该选项被选中。菜单选项的使能与禁止是通过改变该选项的Enabled属性实现的。举例来说,假设菜单选项名为mnuName,则禁止该选项可以这样实现:

mnuName.Enabled=False

同理,隐藏一个选项可以用:

mnuName.Visible=False

而使一个隐藏的选项恢复可见则用

mnuName.Visible=True

菜单项的隐藏与恢复可见常用在动态菜单的实现中。

菜单项的动态装入

  菜单项的动态装入是指菜单项的个数不固定,并且能够在需要时动态地装入。最简单的例子就是文件菜单中最近打开的文件的列表。在第一次打开文件之前,该列表是空的,并且不在文件菜单中出现;打开一个文件后,该列表不再是空的,并且文件菜单中出现代表被打开文件的菜单项。

  在上面的例子里,就综合运用了菜单项的下标属性(Index)、标题属性(Caption)、可见属性(Visible)以及菜单项的装入方法(Load Method)。

具体的实现过程如下:

在文件菜单里增加一个菜单项,标题任意,并假设菜单项的Name属性是opened_files_ list;

更改菜单项opened_files_list的可见属性,使

opened_files_list.Visible=False

更改菜单项opened_files_list的下标属性,使

opened_files_list.Index=0

在程序中控制菜单项opened_files_list的动态装入。

假设要显示打开过的第二个文件的文件名,并且该文件名存放在一个文件名数组opened _file_name里。需要注意的是,对于下标为0的菜单项,不能用Load方法。因为在程序执行时,该菜单项就已经被装入到内存里了;另外,在菜单项的标题属性字符里的"&"字符具有特殊的含义,它的作用是在显示该属性字符串的同时,并不显示"&"本身,而紧跟"&"的字符在显示时具有下划线, 并且该字符成为热键。

  如果下标不为0的菜单项不再需要,为了减少对内存资源的占用,可以用Un-load方法把它从内存卸出;同样地,不能用Unload卸出下标为0的菜单项。

弹出式菜单的实现

  VB中在菜单设计窗口中设计的菜单是下拉式菜单。下拉式菜单是用户在任何时候都可以在顶端菜单条上选择后拉出的菜单,而弹出式菜单则是在程序界面的一定区域内点按鼠标键后出现的菜单。在某些情况下,弹出式菜单会使系统功能的实现更加简洁和高效,使用起来更加得心应手。

  Windows程序的弹出式菜单一般是当用户在程序的桌面上点按鼠标键时出现的。弹出式菜单多用于实现系统的附加或增强功能。弹出式菜单的内容,可以随点按鼠标键的位置不同而变化。由于弹出的菜单要覆盖屏幕的一部分,所以应尽量缩短菜单里的文字。

  在VB中,弹出式菜单的实现要用到下拉式菜单设计的技术和PopupMenu方法。具体的做法是:

  在菜单设计窗口里设计好相应窗体的弹出式菜单。要注意的是,要弹出的菜单必须至少有一个子菜单;因而这个菜单不能有快捷键,并且Checked属性必须是False。再把弹出式菜单的Visible属性改为False。

在具有设计好的弹出式菜单的窗体的Form_Click中加入以下代码(假设弹出式菜单的 Name属性是mnuExam-ple):

Sub Form_Click()

PopupMenu mnuExample

End Sub

如果要求只有按下鼠标左键或者右键才能激活菜单,就必须在Form_MouseDown里加入如下代码:

Sub Form_MouseDown(Button As Integer,Shift As Integer,x As Sin-gle,y As Sin gle)

If Button=2 then Button=2 表示鼠标右键

PopupMenu mnuExample

End If

PopupMenu的完整句法是:

[Form.]PopupMenu menuname[flags[,x[,y]]]

改变flags的值可以控制弹出式菜单的表现形式。flags有两组值:第一组值用来控制菜单的显示方式,包括POPUP-MENU_LEFTALIGN,POPUPMENU_CENTERALIGN,POPUPMENU_RI-GHTALI GN,分别表示以x为左边界、以x为中心和以x为右边界的显示方式,并且以x为左边界是缺省的方式;另外一组值用来控制菜单项的选中方式,包括POPUP-MENU_LEFTBUTTON和POPUP-MENU_R IGHTBUTTON,分别表示左键选中和左/右键选中均可,并且左键选中是缺省的方式。flags的值由上面的两组值经过OR运算得出。例如,要求左对齐显示并且左键选中为准,则应有:

flags=POPUPMENU_LEFTALIGN OR POPUPMENU_LEFTBUTTON

x和y用来定义菜单弹出的位置,缺省是鼠标点中的位置。

菜单项的其他属性

用ALT+字母键激活顶层菜单,或者在菜单激活后用字母键激活一个菜单项,必须学会使用 &。&用在菜单项的标题属性(Caption)里。它的用法和作用与在用C语言编制的Windows程序中的用法和作用相同。

有时希望顶层菜单之间的间隔大一些,或者某个顶层菜单出现在菜单条的最右端,这时就要用到标题属性是空格的菜单。如果一个菜单的标题是由多个空格组成的,那么这个菜单在菜单条上就占用跟空格的个数相应的空间,并且它后面的菜单也顺序地后移;如果这个菜单的 Visible属性是False,那么它就跟不存在一样。

VB中的界面设计原则和编程技巧相关推荐

  1. 【UI设计】—界面设计原则

    前言 最近一段时间项目的功能开发基本完成,目前进行界面的修改和完善,一屋子人一起讨论CS生产终端的页面设计,这是个好问题,下面来一起学习一下. 界面设计原则 1.简单 用户在学习和接受新的事物时是需要 ...

  2. 请分析网易云PC端界面体现了哪些界面设计原则,并给出其界面设计目标达成度的分析...

    网易云PC端界面体现了以下几个界面设计原则: 易用性原则:网易云PC端界面的操作相对简单,用户容易找到所需的功能.比如,它采用了常见的界面布局,使得用户可以轻松地找到所需的功能按钮,同时在界面中也提供 ...

  3. VI设计中交通工具的设计原则

    VI设计中交通工具的设计原则 编辑:AGO(安可)品牌顾问 VI设计中交通工具的设计原则介绍如下: 1.统一性原则 各类交通工具在进行VI设计中的视觉设计时,应力求总体风格的统一性.统一的风格涉及到基 ...

  4. APP开发流程实例讲解-儒释道网络电台八天开发全程-在Android Studio中完成界面设计

    APP开发流程实例讲解-儒释道网络电台八天开发全程 功能和界面初步设定 APP开发流程实例讲解-儒释道网络电台八天开发全程 项目发起 功能和界面初步设定 在Android Studio中完成界面设计 ...

  5. 软件界面设计原则(转)

    一:遵循一致的准则,确立标准并遵循 无论是控件使用,提示信息措辞,还是颜色.窗口布局风格,遵循统一的标准,做到真正的一致. 这样得到的好处: 1:使用户使用起来能够建立起精确的心里模型,使用熟练了一个 ...

  6. 界面设计原则(china ui)

    作者:未知 来源:ChinaUI 1.设计原则 (1)用户原则.人机界面设计首先要确立用户类型.划分类型可以从不同的角度,视实际情况而定.确定类型后要针对其特点预测他们对不同界面的反应.这就要从多方面 ...

  7. UI设计中的交互设计原则有哪些?

    UI设计日新月异,但在变化的背后不变的是设计师对美和易用的追求.在对用户体验的不断研究中,很多复杂的案例被凝聚成简明的设计原则供我们使用.Lawsofux的UX原则便是其中的典范,这些原则久经考验,历 ...

  8. 设计原则与思想【面向对象、设计原则、编程规范、重构技巧】

    一.高质量代码的评判标准: 可维护性:在不破化原有代码设计.不引入新的bug的情况下,能够快速的修改或者添加代码 可读性:我们需要看代码是否符合编码规范.命名是否达意.注释是否详尽.函数是否长短合适. ...

  9. UI设计师必备技能:APP 界面设计原则

    APP软件界面设计不纯粹是技术设计,也不再是纯粹的进行视觉图像的艺术组合,它牵涉到用户行为分析.视觉传达设计.人机交互.设计开发.作为UI设计师必备看家技能之一的APP界面设计,具体操作中应该注意如下 ...

最新文章

  1. LaTEX、 Aurora、 markdown常用数学符号
  2. webpack常用配置
  3. 前端学习(1430):ajax封装五
  4. php里isset的属性,PHP魔术方法__isset()
  5. 与计算化学相关的计算机程序,计算机引发化学工程革命
  6. Objective-c的内存管理MRC与ARC
  7. 计算机网络(1)--计算机网络和因特网
  8. iOS开发UI篇—简单的浏览器查看程序
  9. graphpad 中文版使用手册
  10. Visio从安装到使用完整版
  11. java mina 服务端_mina 框架java服务端的搭建和通信。
  12. google服务框架 闪退_没Google服务闪退?教你解决手游谷歌服务问题
  13. 一个美国人在上海-American McGee
  14. 电脑如何设置u盘启动,u盘启动项设置方法
  15. Linux系统启动流程
  16. 四大抓包神器,非常好用
  17. 【人人学-5G技术进阶】华为5G技术进阶测试答案(四)
  18. 1072. 开学寄语
  19. 仿盛大服务器列表不显示,大刀护卫不见了,传奇GEE引擎服务端大刀没了
  20. 基于微信小程序的点餐与预约餐桌的管理系统+后台管理

热门文章

  1. 从软件保护到软件授权
  2. 清华大学张亚勤对话朱民:颠覆认知的AI时代及产业机遇
  3. 国外有哪些知名的游戏资讯网站或博客?
  4. 12张图带你轻松了解 calico 6种场景下宿主机和pod互访的iptables规则链流转情况【下】
  5. 盒模型--标准盒模型---怪异盒模型
  6. rk3568 android 11 默认壁纸
  7. IBM面试题:海盗分金算法及其思想
  8. html 鼠标图标做成动画效果,7 个让人惊叹的 HTML5 鼠标动画
  9. ,到底是买新房好还是二手房好?看完你就明白了!
  10. 新房和二手房的优缺点