对于应用软件来说,一个基本现实就是:用户界面是面向用户的。用户需要的是开发者开发的应用软件满足其需求,并且易于使用。太多的开发者自以为是艺术天才,他们不去尽力遵循用户界面设计标准,或花精力使得产品好用;相反,他们错误地认为编写更灵巧的代码或是使用一套确实有趣的颜色方案才是重要的 事。Constantine(1995)指出,好的用户界面使得人们不用阅读用户手册或接受培训就能使用应用软件。
界面设计的重要性有这么几个原因:首先,用户界面越直观,就越易用,越易用就越便宜。因为界面越好,培训用户就越容易,降低丁培训成本;界面越出色,用户就越少求助,降低了客户支持成本。其次,界面越出色,用户就喜欢使用,增强了开发者工作的满意度。
一、用户界面设计的技巧与技术
本节所包含的用户界面设计技巧将有助于提高面向对象界面的设计。
l、一致,一致,还是——致。你能做的最重要的事情就是保证用户界面运作的一致性。对于列表框来说,如果双击其中的项,使得某些事件发生,那么双击任何其它列表框中的项,都应该有同样的事件发生。所有窗口按钮的位置要一致,标签和讯息的措辞要一致,颜色方案要一致。用户界面的—致性使得在用户对于界面运作建立起精确的心理模型,从而降低培训和支持成本。
2,建立标准并遵循之。在应用软件中保持一致的唯一途径就是建立设计标准并加以遵循。最好的办法是采取一套行业标准,对自身特殊的需要加以补充。已有的行业标准,如IBM标准(1993)与Microsoft标准(1995),通常可满足95%到99%的需要。采用行业标准,只需利用已有的成果,也使你的应用软件看起来或感觉上更象用户已购买或建立的其它应用软件。应当在定义基础构造阶段就建立用户界面设计标准
(Atablet,1998)。
3、阐明规则。用户要知道怎么使用你为他们开发的软件。软件运作的一致性表明,规则你只需解释一遍。这比一步步详细讲解如何使用应用软件每个特性要容易得多。
4、同时支持生手和熟手。图书馆目录符号对图书馆系统的一般用户来说,也许就够用了,但对熟手用户,如图书管理员,很可能就没有那么有效了。图书管理员是受过专门训练,能够使用复杂的查询系统找到信息,因此,应当考虑建立一套查询界面以满足他们的独特需要。
5、界面间切换很重要。如果从一个屏幕转换到另一屏幕很困难,用户会很快灰心并放弃。当屏幕流程与用户想完成的工作流程相符,此软件对用户才有意义。由于不同用户工作方式不同,应用软件需要有足够的灵活以支持他们不同的方式。在建模阶段,界面流程图可用来模拟屏幕之间的流程。
6、界面上的布局很重要。在西方,人们是自左而右,从上而下阅读,基于人们的习惯,屏幕的组织也当是自左而右,从上而下。屏幕小部件的布局也应以用户熟悉的方式进行。
7、讯息和标签措辞要适当。屏幕上显示的文本是用户主要的信息源。如果文本措辞很糟,用户的理解就会很糟。要使用完整的措辞和句子,而不要用缩写和代码,使文本易于理解。讯息措辞要积极,显示用户处于控制之中,并提示如何正确使用软件。如,下面哪一条讯息更吸引人: “你输入了错误信息”还是 “帐号应为8位数”?此外,讯息措辞要一致,在屏幕上显示的位置要一致。尽管这样的讯息“须输入名字”
和“应输入帐号”分别来说措辞上没问题,放在一起就不一致了。根据第一条讯息的措辞,第二条讯息更好的措辞应当是“须输入帐号”,这就使得两条讯息措辞一致了。
8、了解小部件。为恰当的任务使用恰当的小部件,首先可以帮助增强应用软件的一致性,可能使得应 用软件很容易构造。学会如何正确使用小部件的唯一途径是阅读和理解你们所采用的用户界面标准及准则。
9、对其它软件不盲从。除非你知道一个应用软件是遵循了你们的用户界面标准和和准则,否则你绝不 能认定它做的都是对的。尽管看看人家怎么做,从中获得些主意是不错的想法,但在懂得怎样区分用户界面设计的好坏之前,你得留神。太多的开发者错误地模仿其它应用软件的用户界面,而那些界面却设计得很 糟。
10、颜色使用要适当。使用颜色要谨慎。如果使用了,也要使用指示符。问题就在于有些用户可能是色 盲一一如果在屏幕上使用了颜色来突出显示某些东西,假若想让色盲的用户注意到,那么需要做些另外的工作来突出它,如在其旁边显示一个符号。颜色的使用也得一致,以使整个应用软件有同样的观感。此外,在 不同平台上,色彩的表现不尽人意一一在一个系统上看上去很好,在另一个系统上常常看上去很糟。展示会上我们经常听到展示者这样说: “在我家中的机器上看上去可是很好的呀。”
11、遵循对比原则。打算在应用软件中使用颜色,要确保屏幕的可读性。最好的方法是遵循对比原则: 在浅色背景上使用深色文字,在深色背景上使用浅色文字。蓝色文字以白色为背景很容易读,但以红色为背景很难辨认。问题出在蓝色与红色之间没有足够反差,而蓝色与白色之间则反差很大。
12、字体使用要适当。老式英语字体可能在莎士比亚的剧本封面看上去很合适,但在屏幕上却很难认。要用那些可读性好的字体,如serif或Times Roman。此外,字体的使用要一致。节俭、有效地使用两、三种字体的屏幕看上去远胜于使用五、六种字体的屏幕。要记住每次改变了字体的大小、风格(粗体、斜体、下划线,……)、样式或颜色,都是在使用不同的字体。
13、灰掉而不是移走。在某些时刻,用户经常只能访问应用软件的某些功能。在删除一个对象之前,要先选中它,由此加深用户的心理模型,软件应当用删除按钮及(或)菜单项去做一些事。按钮应当移去还是灰掉?灰掉它,决不能移走!当用户不该使用时就灰掉它,可使用户对如何使用应用软件建立精确的心理模型。如果仅仅移走一个小部件或菜单项,而不是灰掉它,用户很难建立精确的心理模型,因为用户只知道当前可用的,而不知道什么是不可用的。
14、使用非破坏性的缺省按钮。通常每个屏幕定义一个缺省按钮,如果用户按了回车键调用此按钮。问题是有时用户会意外敲击回车键,结果激活了缺省按钮。缺省按钮决不能有潜在的破坏性,如删除或保存(也许用户根本不想保存)。
15、区域排列。当屏幕有多个编辑区域,要以视觉效果和效率来组织这些区域。如图1所示,编辑区域左对齐是最好的方法。换句话说,要使编辑区域左边界在一条直线上且上下排列。与之相应的标签则应右对齐,置于编辑区域旁。这是屏幕上组织区域的一个整洁有效的方式。
16、数据对齐要适当。对一列列的数据,通常的作法是整浮点数右对齐,字符串左对齐。
17、屏幕不能拥挤。拥挤的屏幕让人难以理解,因而难以使用。实验结果(Mayhew,1992年)显示屏幕总体盖度不应超过40%,而分组中屏幕盖度不应超过62%。
18、有效组合。逻辑上关联的项目在屏幕上应当加以组合,以显示其关联性。反之,任何相互之间毫不相关的项目应当分隔开。在项目集合间用间隔对其进行分组/或用方框也同样可做到这一点。
19、在操作焦点处打开窗口。当用户双击一个对象显示其编辑/详情屏幕,用户的注意力亦集中于此。因而在此处而不是其它地方打开窗口才有意义。
20、弹出菜单不应是唯一的功能来源。如果主要功能被隐藏起来,用户就不能学会怎样使用软件。开发人员最让人灰心的作法是滥用弹出菜单,也称作上下文相关菜单。一种使用鼠标的典型方法,是用来显示一个隐藏的弹出菜单,提供针对当前工作的屏幕区域特定功能的访问。
二、原型建立及技巧
(一)建立原型
建立原型是一种迭代分析技术,在此过程中用户参与建立屏幕及报表的实体模型。原型的目的是展示应用软件用户界面的可能设计。图2所示为原型建立的步骤。
●确定用户需求。原型的开发取决于用户需求,需求决定了系统必须支持的业务对象。可以通过面谈及在建模阶段(如CRC类职责协作图)、用例和类图建模阶段收集需求。
●建立原型。用原型工具或高级语言开发用户所需的屏幕及报表。此阶段最有益的忠告是不要花大量时间去写“好”代码,因为在对原型作了评估之后,你很可能丢弃这些代码。
●评估原型。一个版本的原型建立后需要进行评估。主要目的是核实原型是否满足用户需求。评估时要确定三个基本结果:原型成功之处、失败之处及遗漏之处。对原型作了评估后会发现,有的部分要丢弃,有的部分要修改,甚至要添加全新的部分。
●确定是否完成。当评估过程中不再有新的需求,或只有少量无关紧要的需求时,原型建立过程就可结
束。
(二)原型建立的技巧与技术
1、寻找现实对象。好的用户界面令用户使用时如同身临其境。因此,应当以此为出发点,确定用户在现实世界中的使用方式。
2、实际用户共同工作。参与建立原型的最佳人选,是那些在应用软件开发完成之后的实际使用者。这些人是系统成功实现的最大获益者,也正是他们,最清楚自己的需求。
3、设定时间表并执行。设定时间表,确定何时与用户一起对原型进行评估。这样做,既给用户设定了期望,也迫使自己做好这项工作,是一个双赢局面。
4、使用原型工具。花钱买那种可以让你快速整合屏幕的原型工具。因为很快写出的代码鲜有值得保留的,即便原型工具生成的代码,与你打算进一步开发的代码类型不同,也不必太在意。
5、用户参与。就如同买车之前要试车,用户在应用软件开发之前也应一试。此外,通过亲自试用原型,用户可以很快确定系统是否满足要求。一个好方法是让用户将原型当作实际系统,通过一些用例来使
用。
6、了解根本业务。开发支持业务的原型前,需要了解根本业务。要与主要用户面谈,阅读业务流程的内部文档,阅读一些竞争对手如何实现的文档。对业务越了解,就越有可能建立支持其业务的原型。 ’
7、原型的不同层次。可以依次开发系统的三种不同类型的原型。手绘原型,用来显示基本/大概功能;电脑原型,用来显示屏幕,但不包含要显示的数据:最终是包含显示的数据屏幕。由简单开始,避免在那些很可能被丢弃的东西上花大量时间。随着原型逐步接近最终方案,依次增加其复杂性,倘若对原型不断加以改进,用户对应用软件实际中将如何运作就会有越来越清晰的认识。
8、别在代码上下功夫。在建立原型过程的开始,随着对业务了解的深入,许多工作可以丢弃。因此,花大量精力写那些很可能不会保留的代码没有意义。
三、界面流程图
●界面流程图显示了应用软件的用户界面部件、屏幕及报表之间的关系对用户来说,用户界面就是系统本身。虽然用户界面原型常常会使开发者陷于界面实际如何运作的泥潭之中,它只是描述用户界面的一种手段。用户界面原型导致开发者遗漏了应用
程序界面对象(通常是屏幕)之间的高层关系和相互作用。界面流程图使开发者模拟了这些高层关系。
●界面流程图帮助开发者验证用户界面设计图3是一个定单系统的界面流程图。方框表示用户界面对象(屏幕、报表或表单),箭头表示屏幕间可能的流程。如,通过主菜单屏幕,可以进到客户查询屏幕或定单登录屏幕。一旦进入定单登录屏幕,可以进到产品查询屏幕或客户定单登录屏幕。界面流程图可以很容易显示应用软件界面的高层概貌。
由于界面流程图提供了系统界面的高层视图,开发者可很快理解系统预期的运作流程。它提供了验证应用软件的用户界面整体流程的视角。如,某个屏幕流程是否有意义?为何不能从客户编辑屏幕进入客户定单目录屏幕?哪个目录包含了一客户所作的所有定购?此外,为何不能从产品的角度获得同样的目录?有些情况下,人们对查明哪些定单包含某件产品感兴趣,尤其是期货产品或已不可得的产品。界面流程图也可用于确
定用户界面的一致性,以图3为例,选择打印命令,生成客户摘要报表和打印定单,从图上看来,至少对于打印来说,用户界面是一致的。
四,普始善终
每个开发人员一一特别是系统分析员、 原型开发人员及构建用户界面的程序员,都应对人因工程学(Human Factors En—gineering—--HFE)及所基于开发平台行业标准的用户界面准则有墓本的了解。如,任何基于Win32平台的开发人员,都应当拥有和阅读微软用户界面指南(Microson 1995)。决不可忘记,用户界面对用户来说就是软件,而不是数据库,不是网络,也不是开发人员写的那些很酷的Java代码。基于以上见解,可以说,不懂用户界面设计,就没资格开发软件!
所以,开发人员要做的是:首先,阅读本文只是一个好的开端,还需要进一步接受教育。可以从用户界面设计的概论课程开始,此课程涵盖了人因工程学、符号、心理模型、屏幕设计基础、报表设计基础。如果要开发面向对象的用户界面(Object-Oriented User Interfaces--OOUIs),建议阅读本文作者所著的Building Object Applications That Work(Ambler,1998a)一书的第九章。其次,花两天时间学习所基于开发平台的用户界面标准。现有的用户界面标准囊括了许多常见操作系统,包括互联网开发的通用用户界面标准。再次说明,如果没有此类课程,你也得作相关的学习。
总之,每个开发人员都应了解用户界面设计的基本原则。
五、小结
下面我们将设计高效的用户界面的主要技巧小结如下:
1、一般指南
●用户界面的一致很关键,
●设立界面标准并遵循之,
●采用行业标准,也使你的应用软件看起来或视感上与其它机构开发的软件更趋一致,
●向用户阐明软件运行规则。有了一致性,规则只会简练,
●支持生手也支持熟手;
●文字措辞一致、正面,要用全称,
●对其它软件不盲从’,要知道不是每个人都懂得如何设计好的用户界面;
●在桌面上显示快捷方式;
●根据业务对象及其相应的界面对象去思考,而不是从应用软件本身去思考;
●界面对象在视觉上、感觉上和行为上应与其在现实世界的表现一致。
2、屏幕设计
●界面间切换、界面布局都很重要;
●理解小部件,才能正确地加以应用;
●使用颜色要谨慎,以指示符补充;
●遵循对比原则一一在浅色背景上使用深色文字,在深色背景上使用浅色文宇;
●字体使用要适当和一致;
●项目不可用时,灰掉而不是移走,用户才有形成精确的心理模型:
●使用无害的缺省按钮;
●编辑区域左对齐,相应的标签则应右对齐,
●整数、浮点数右对齐, 字符串左对齐;
●避免屏幕拥挤;
●用方框和间隔对屏幕上有逻辑关联的项目加以组合;
●在操作焦点处打开窗口;
●弹出菜单不应是唯一的功能来源。
3、建立原型
●用户需求决定了原型的开发;
●原型评估的任务:发现原型的成功之处,失败之处及遗漏之处;
●在评估过程中只发现少量需求或不再有新的需求时,即可结束原型建立过程;
●寻找现实对象,确定用户在现实世界中的使用方式;
●与软件开发完成之后的实际用户共同工作,
●设定原型开发时间表并执行;
●使用原型开发工具:
●用户参与开发,对原型进行测试:
●了解根本业务;
●别在很可能丢弃的事情上花大时间,
●一旦界面对象稳定,就应文档化,
●为原型开发界面流程图:
●对组成原型的每个界面对象建立文档。内容包括:界面对象的用途、用法;指出与之相关的其它界面
对象,每一部件的用徐、用法。
作者介绍:
Scott W. Ambler:加拿大人,面向对象开发高级顾问。自1990年开始从事面对象技术工作,担任过多种角色:商业设计、系统分析、系统设计、项目管理、Smalltalk程序员、Java程序员及C++程序员。
毫无疑问,应用程序的界面对用户非常重要——无论代码多么卓越,如果用户发现应用程序很难使用,那么难于很好地接受它。因此,在开发应用程序的过程中,开发人员必须重视用户界面的友好性。本文以VisualBasic为例,向读者介绍创建友好的用户界面。
界面设计基础
1.什么是好的界面
设计用户界面时,最好是先看看Microsoft或其他公司比较优秀的应用程序,我们会发现许多通用的东西,比如工具栏、状态条、工具提示、上下文菜单以及标记对话框等。也可以凭借自己使用软件的经验,想一想曾经使用过的一些应用程序,哪些很好用。
另外,还要注意到大多数成功的应用程序都提供多种选择,来适应不同用户的偏爱。例如MicrosoftWindows的“资源管理器”允许用户通过菜单,用键盘或者鼠标拖放来复制文件。提供同一功能的多种操作方式,会扩大应用程序的吸引力。至少应该使所有的功能都能被鼠标和键盘所访问。
2.Windows界面准则
Windows操作系统的主要优点就是为所有的应用程序提供了公用的界面。知道如何使用基于Windows应用程序的用户,很容易学会使用其他应用程序。而与创建的界面准则相差太远的应用程序不易让人喜欢。
菜单就是这方面很好的一个例子——大多数基于Windows的应用程序都遵循这样的标准:“文件”菜单在最左边,然后是“编辑”、“工具”等可选的菜单,最右边是“帮助”菜单。子菜单的位置也很重要。用户本期望在“编辑”菜单下找到“复制”、“剪切”与“粘贴”等子菜单,若将它们移到“文件”菜单下会引起用户的混乱。不要偏离已经创建的准则太远,除非有很好的理由这样做。
3.控件的位置
通常,在用户界面中,应该将重要的或者频繁访问的元素放在显著的位置上,而不太重要的元素就应当降级到不太显著的位置上,以确保越是重要的元素越要很快地显现给用户。
对于大多数自然语言来说,我们都习惯于在一页之中从左到右、自上到下地阅读。对于计算机屏幕也如此,大多数用户的眼睛会首先注视屏幕的左上部位,所以最重要的元素应放在屏幕的左上部位。例如,如果窗体上的信息与用户有关,则它的名字字段应当显示在它能最先被看到的地方。而命令按钮,如“确定”或“下一个”,应当放置在屏幕的右下部位(因为用户在未完成对窗体的操作之前,通常不会访问这些按钮)。
应当尽量把元素按功能或关系进行逻辑地分组,比如定位数据库的按钮(如“下一条”、“最后一条”)应当被形象地分成一组,而不是分散在窗体的四处。再如,通常将各字段与地址分在一组,因为它们联系紧密。在许多情况下,可以使用框架控件来进行分组。
4.界面元素的一致性
在用户界面设计中,一致性是一种优点。一致的外观与感觉可以在应用程序中创造一种和谐。如果界面缺乏一致性,则很可能引起混淆,并使应用程序看起来没有条理,甚至可能引起对应用程序可靠性的怀疑。
在VisualBasic中虽然有大量的控件可供使用,但应尽可能地选择能很好适合特定应用程序的控件子集。例如,虽然列表框、组合框、网络以及树等控件都可用来表示信息列表,最好还是尽可能使用一种类型。
还有,尽量恰当地使用控件,虽然TextBox控件可以设置成只读,并用来显示文本,但Label控件通常更适用于该目的。在为控件设置属性时要保持一致性,如果在一个地方可编辑的文本使用白色背景,除非有很好的理由,否则不要在别的地方又使用灰色。
在应用程序中不同的窗体之间保持一致性对其可用性有非常重要的作用。如果在一个窗体上使用了灰色背景以及三维效果,而在另一个窗体上使用白色背景及二维效果,则这两个窗体就显得毫不相干。
5.空白空间
有的用户界面中使用空白空间有助于突出元素和改善可用性。一个窗体上有太多的控件会导致界面杂乱无章,使得寻找一个字段或者控件非常困难,在设计中需要插入空白空间来突出设计元素。
各控件之间一致的间隔以及垂直与水平方向元素的对齐可以使设计更可用。就像杂志中的文本那样,安排得行列整齐、行距一致,整齐的界面也会使其容易阅读。
VisualBasic提供了几个工具,使得控件的间距、排列和尺寸的调整非常容易。“排列”、“按相同大小制作”、“水平间距”、“垂直间距”和“在窗体中央”等命令都可以在“格式”菜单中找到。
6.颜色
在界面上使用颜色可以增加视觉上的感染力,少量明亮色彩也可以有效地引起人们对重要区域的注意。但是,应当尽量限制应用程序所用颜色的种类,而且色调也应该保持一致。如果可能的话,最好坚持标准的16色调色板。
7.图像和图标
图片与图标的使用也可以增加应用程序在视觉上的趣味,但是,细心的设计也是必不可少的,如果用户不能很容易地识别图标所表示的功能,就会很糟糕。在设计工具栏图标时,应查一下其他的应用程序以了解已经创建了什么样的标准。例如,许多应用程序用一张角上有卷边的纸来表示“新建文件”图标。也许还有更好的比喻来表示这一功能。但改用其他的表示方法会引起用户的混淆。
8.字体
字体也是用户界面的重要部分,因为它们常常给用户传递重要的信息。需要选取在不同的分辨率和不同类型的显示器上都能容易阅读的字体。应当尽量使用标准Windows字体,如Arial、NewTimesRoman或者System。如果使用了非标准的字体,那么当用户的系统中没有包含指定的字体时,系统会使用替代的字体,其结果可能与设想的完全不一样。
还有,在选取字体时,设计的一致性非常重要。大多数情况下,不应当在应用程序中使用两种以上的字体。
错误处理
用户在使用程序的时候总会出现这样那样的问题。程序设计人员在设计用户界面时,应尽量全面地考虑可能出现的错误,并判断哪一个需要用户交互作用,哪一个可以按事先安排的方案解决
1.创建容易理解的对话框
偶尔应用程序中会出现错误,需要为解决这种情况做出判断。这通常作为代码的分支出现If...Then语句或者Case语句。如果这个判断要与用户交互,此问题通常用对话框来提交给用户。
相信任何程序员都会使用对话框与用户交互,关键问题是要采取用户容易理解的语言。比如这样的消息:“硬盘C的扇区被损坏或不能访问。中止、重试、忽略?”,这对一般的用户而言不大好理解。更好的表达可以是“在C盘上存文件有问题,请把文件存于A盘。存不存文件?”
当为应用程序创建对话框时,应想着用户。这个消息给用户传达了有用的信息吗?它容易理解吗?命令按钮表示的选择明确吗?这个选择适合给定的条件吗?
2.不用对放大框的错误处理
当错误出现时不一定要打断用户。有时更可取的是不通知用户而用代码来处理错误,或者以不停止用户工作流程的方法来提醒用户。很好的例子是MicrosoftWord中的“自动更正”功能:如果普通单词拼错了,Word自动修改它;如果不常用单词拼错了,在其下划一条红线提醒用户以后改正。
有大量的技巧可以采用:
(1)在“编辑”菜单中添加“撤消”功能。对于删除等情况,与其用“确定”对话框来打断用户,还不如确保他们做出正确的决定,并提供“撤消”功能以备他们以后改变主意。
(2)在状态栏或图标上显示消息。如果错误不影响用户当前的任务,不要停止应用程序。使用状态栏或亮色警告图标来警告用户——当他们准备好后可以处理该问题。
(3)直接改正问题。有时错误的解决办法很显然,例如,当用户试图存文件时磁盘已满,则在其他驱动器中检查寻找空间。如果空间可用,则保存该文件;在状态栏中显示一条消息告诉用户做了些什么。
设计完善的帮助体系
不论用户界面设计得多么好,有时用户总需要帮助。应根据操作的难易程度和用户的类别,为程序设计层次不同但相对完善的帮助体系,可以采用的方法包括建立联机帮助、工具提示、状态条、“这是什么”帮助等。
1.联机帮助
联机帮助是任何应用程序的重要部分,它通常是用户有问题时最先查看的地方。甚至简单的应用程序也应该提供“帮助”。
在设计“联机帮助”时,要记住它的主要目的是回答问题。创建主题名称与索引条目时尽量用用户的术语,例如,“我如何格式化页面?”比“编辑”、“页格式”菜单更容易找到主题。
很多情况下,还要提供上下文相关的帮助,如果用户按下F1键后,屏幕上立刻出现了相关的帮助画面,用户会感到非常满意。
2.工具提示
工具提示是个小标签,当鼠标指针在控件上停留时即显示相关帮助信息。当用户在用户界面上搜索时,工具提示是一种向他们显示信息的好方法。
大多数VisualBasic控件都包含用来显示工具提示的属性ToolTipText,可以用这个属性为控件提供工具提示,如:CmdPrint.ToolTipText=“打印文档”
3.状态显示
状态显示是提供那些不太适合工具提示的指令或消息的一种好方法,包括在VisualBasic的专业版与企业版中的状态条控件能很好地显示消息,Label控件也能用作状态显示。
在状态显示中显示的文本可以用以下两种方法之一来更新:用控件或窗体的GotFocus事件,或者用MouseMove事件。
4.“这是什么”帮助
“这是什么”帮助是指当用户选取窗体右上角的小问号并单击控件,或者直接在控件上按下鼠标右键时,出现的帮助信息。“这是什么”帮助提供了和弹出式“帮助”主题的链接,稍复杂的应用程序就应该提供这种帮助形式。