说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB应用程序中的工具提示和状态显示

HTML文档下载 WORD文档下载 PDF文档下载
VB应用程序中的工具提示和状态显示
(作者:石运伟 王丽梅)

一 前言


  设计VB应用程序过程中,为了方便用户操作,不仅要有在线帮助系统以外,还应具有良好的工具提示和状态显示。由于开发完整的帮助系统十分繁琐,这样简单的工具提示和状态显示对于一般的应用程序就显得尤其重要。在应用程序中充分利用这两种用户辅助模式,可以减少用户的操作错误,从而提高工作效率,也使您的程序更加专业化。下面介绍几种方法来实现工具提示和状态显示,您可以根据您自己的应用程序来恰当的选择使用。



二 工具提示


当用户在用户界面上搜索时,工具提示是一种向他们显示信息的好方法。工具提示是个小标签,当鼠标指针在控件上停留一会儿就可以显示,通常包含此控件的功能描述。正常情况下工具提示与工具栏结合使用,如图1所示。



图1 Visual Basic 工具栏的工具提示

  大多数 Visual Basic 控件都包含用来显示工具提示的属性:ToolTipText。在运行过程中光标在对象上徘徊约一秒钟,设置的字符串将显示在该对象下面的一个小矩形框中。以下代码将对名称为“cmdPrint”的命令按钮提供工具提示。



cmdPrint.ToolTipText = "打印当前文档"



这样使用该属性就能以简明扼要的语言来解释该对象的功能,说明性文本能确保明确地传达给用户所需要的消息帮助。



  除了利用ToolTipText 属性以外,还可以利用“这是什么”帮助来完成工具提示。当用户选取“这是什么”帮助并单击控件上的“这是什么”光标时,“这是什么”帮助提供了和弹出式“帮助”主题的链接(如图2所示)。





图2 “这是什么”帮助的弹出式窗口



  要从菜单或工具栏使“这是什么”帮助有效,首先要做相应的帮助主题,



然后执行以下步骤:



(1)选取希望为其提供帮助的控件。



(2)在“属性”窗口中,选取 WhatsThisHelpID 属性。



(3)为相关的弹出式“帮助”主题输入上下文标识符号。



(4)为任何其他控件重复步骤 1 到步骤 3。



(5)选取窗体。



(6)在“属性”窗口中,设置该窗体的 WhatsThisHelp 属性为 True。



(7)在菜单或工具栏按钮的 Click 事件中,键入以下代码:



formname.WhatsThisHelp



  当用户单击该按钮或菜单时,鼠标指针会改变为“这是什么”帮助指针。为了使在自定义对话窗体的标题栏上的“这是什么”帮助有效,要设置该窗体的 WhatsThisButton 与 WhatsThisHelp 属性为 True



如果是简短的解释可以用ToolTipText属性,相对复杂的解释可以用“这是什么”帮助,当然“这是什么”帮助制作过程复杂一些,但它提供给用户的信息多一些。



三 状态显示


  状态显示也可以为用户提供帮助服务,可以用来提示用户操作或显示程序运行状态。状态显示是提供那些不太适合工具提示消息的一种好方法。Label 控件可以用作状态显示,包括在 Visual Basic 的专业版与企业版中的StatusBar控件和ProgressBar控件都可用来显示状态消息。



1利用Label控件



  显示的文本可以用以下两种方法中的一种来更新:用控件或窗体的 GotFocus 事件,或者用 MouseMove 事件。如果想把显示的内容用作帮助,需要利用Label控件的Visible 属性。



  首先选取希望为其显示消息的那个控件,在其右下方(你认为合适的位置)添加 Label 控件,设置Visible = False;在要显示信息的控件的 MouseMove(或 GotFocus)事件中添加以下代码:



‘要求用户在Text1内输入用户的身份证号



Labelname.Visible = True



Labelname.AutoSize = True



Labelname.Caption = "请在此输入您的身份证号"



当鼠标移到该控件上(例如Text1)时,这条消息将显示在此 Label 控件中。



为了仅在鼠标移动到该控件上时进行显示,鼠标一离开控件就把Label控件隐藏,可以在该窗体的MouseMove(或要显示信息控件的LostFocus)事件中添加以下代码:



Labelname.Visible=False



2 利用ProgressBar控件



ProgressBar 控件的主要功能是用图形方式显示事务的进程,该控件的边框在事务进行过程中逐渐被充满。它可以提示用户通过网络进行文件传输的进展情况,可以反映要持续几秒钟以上的过程的进展情况,还可以显示正在运行的复杂算法的进展情况。通常要进行需要几秒钟才能完成的操作时,就可使用 ProgressBar来进行状态显示。ProgressBar控件为用户提供了可视化的反馈信息,它的应用还可以优化应用程序的外观速度。



ProgressBar控件的Value 属性决定该控件被填充多少,其 Min 和 Max 属性设置该控件的界限。要显示某个操作的进展情况,Value 属性将持续增长,直到达到了由 Max 属性定义的最大值为止。这样该控件显示的填充块的数目总是 Value 属性与Max和Min 属性之差的比值。例如,如果 Min 属性被设置为 1,Max 属性被设置为 100,Value 属性为 50,那么该控件将显示百分之五十的填充块。



在操作开始之前通常不显示ProgressBar控件,并且在操作结束之后它应随之消失。在操作开始时,将 Visible 属性设置为 True 以显示该控件,并在操作结束时,将该属性重新设置为 False 以隐藏该控件。



  下面的示例说明如何用一个名为 ProgressBar1 的 ProgressBar 控件,来表示对一个大数组冗长的操作进度。把一个 CommandButton 控件和一个 ProgressBar 控件放在同一窗体里。



Private Sub Command1_Click()



Dim Counter As Integer



Dim Workarea(250) As String



ProgressBar1.Min = LBound(Workarea)



ProgressBar1.Max = UBound(Workarea)



ProgressBar1.Visible = True



注释:设置进度的值为 Min。



ProgressBar1.Value = ProgressBar1.Min



注释:在整个数组中循环。



For Counter = LBound(Workarea) To UBound(Workarea)



   注释:设置数组中每项的初始值。



   Workarea(Counter) = “初始值为”& Counter



   ProgressBar1.Value = Counter



Next Counter



ProgressBar1.Visible = False



ProgressBar1.Value = ProgressBar1.Min



End Sub







Private Sub Form_Load()



ProgressBar1.Visible = False



End Sub



3 利用StatusBar控件



  StatusBar 控件由若干个面板构成,主要用来显示应用程序的运行状态。它既可以节省界面空间又可包含丰富的信息。例如显示数据库表的有关情况(记录总数、以及当前记录在数据库中的位置等),显示关于 RichTextBox 控件的文本和字体状态的信息,显示键盘的状态(例如 Caps Lock 或 Number Lock),显示当前日期或时间等。



StatusBar 控件是由 Panels 集合构成的,在该集合中最多可包含十六个 Panel 对象。每个对象可以显示一个图象和文本。在运行时,可以通过 Text、Picture 和 Width 属性动态地改变任何 Panel 对象的文本、图象或宽度。要在设计时添加 Panel 对象时,可以用鼠标右键单击控件,然后单击“属性”,即可打开“属性页”对话框。使用该对话框,既可以添加 Panel 对象,也可以设置每个面板的各种属性。其中只需简单地设置StatusBar 控件的Style 属性就能够用最少的代码显示键盘状态、时间和日期等信息。



如果要在运行时添加 Panel 对象,可以显示应用程序运行过程中不断变化的内容。首先声明 Panel 类型的对象变量,然后将该对象变量设置为由 Add 方法创建的 Panel,如下面的代码所示:



注释:StatusBar 控件的名称为“sbr1”。



Dim pnlX As Panel



Set pnlX = sbr1.Panels.Add()



一旦创建了 Panel 对象,并设置了对象变量引用该新创建的对象,就可以设置该 Panel 的各种属性:



pnlX.Text = Drive1.Drive



pnlX.Picture = LoadPicture("mapnet.bmp")



pnlX.Key = "drive"



Key 属性是唯一的可以用它来标识特定面板的属性。



SMTP组件的使用方法-Delphi资料 Web Server程序开发环境的建立-Delphi资料 WEB数据库的开发-Delphi资料 Win32 行程通讯的观念与技术-Delphi资料 编程发送E-mail-Delphi资料 调用那个函数得到本机的IP-Delphi资料 动态改变/添加网络设置中的 TCP/IP 的 DNS 地址-Delphi资料 任何动态改变/添加网络设置中的 TCP/IP 的 DNS 地址-Delphi资料 如何在程序中动态取得Win98的网络邻居中的工作组及计算机名-Delphi资料 动态设置DNS地址-Delphi资料 读取IE收藏夹内网址的信息-Delphi资料 改网络计算机名-Delphi资料 关于WEB应用程序的打印组件开发初探-Delphi资料 基于TELNET协议的DELPHI程序与LINUX主机通信的实现 监视POP3信箱-Delphi资料 开发WEBMAIL程序-Delphi资料 开发响应用户输入的数据库web Server-Delphi资料 利用Delphi编程发送E-mail 利用Delphi编写Socket通信程序 利用Delphi开发网络数据库应用 在许多系统中,出于安全或其它原因,常常要求随时对键盘进行监控,一个专-Delphi资料 链接的视觉效果-Delphi资料 如何从域名名得到IP?-Delphi资料 如何动态改变/添加网络设置中的 TCP/IP 的 DNS 地址-Delphi资料 如何获取CapsLock 、 Insert 等键的状态?-Delphi资料 如何在程序中动态取得Win95/98的网络邻居中的工作组及计算机名?-Delphi资料 提高客户机/服务器应用系统性能的一些方法-Delphi资料 网络和通讯编程-Delphi资料 WebBrowser流程讲解及如何判断下载网页成功-Delphi资料 用Delphi 3.0实现运行于浏览器内的客户 用Delphi编写ASP的ActiveX 急,问两个问题 关于minix网络部分原码的问题。。 ReadBuffer读取时有大小的限制吗? 打印和报表问题 98下在局域网内实现Win2000的分布式文件系统的方法 我想远程执行文件,必须要拷贝到控制端吗? 地图编辑器的编写 关于CPU…… applet中关于param参数的问题,困扰我多时了? 请教高手:怎样在程序的toolbar中显示使用edit,command控件 新手上路 恳请指教 98下在局域网内实现Win2000的分布式文件管理的方法? 如何破还原卡? 如何从ADOQuery控件中,取得值? 菜鸟求教一句代码的含义 请高手来看一下! 有关密码保存的问题! 为什么我的表单中放上热点按钮后,在onclick事件中写lotusScript,当用web浏览时,按钮不显示 如何让程序只能在一个机器上运行 影音文件格转换问题! http://expert.csdn.net/Expert/topic/1712/1712032.xml?temp=.3572351 紧急,写入文件 百分送上 五只角了,虽然我的可用分只有可怜巴巴的一千多分,但是,偶还是要散,同时希望SARS早点消失 聊天帖~~~~冒着信誉分被减请chiprobot(芯片宝贝)(把神经接到CSDN上烧录)到至一述~~~ installshield如何把bde环境包括进去呢? 我的程序在A服务器是好的在B服务器发现客户端验证有问题,请赐教! 关于变量?快进来看看,在线等待!sql server 2000怪问题 如何实现Access数据库的数据完整性问题 一个关于tag的使用问题(救急) PB8的window和dw插件怎么无法实现?我都要气疯了! 字符串 如何在web页上弹出对话框,要求在此对话框中可以有文本框,还有按扭? 将OPENGL转换到WINDOWS中有没有方法? 如何用C实现对网站的登陆 如何让SQL数据库里面的图片和相应的图片号(数字)这样显示:图片在上面,图片号在下面? 我想在在数据库这个方面发展,我应该怎么学????????? 关于名字空间的问题. Office WORLD中操作一问(急)成功后送给50分 被老板诬陷偷钱,要赔偿,怎么办? 今天我女朋友出门了,,我好担心。。。。。。可恶的非典 看看这是什么错误,在线等!立刻给分 Java in a Nutshell,2nd Edition 的电子版何处可以download?(英文的也可以) gtk2,书中例题出错:2.2节,快捷菜单 请教高人:如何将Access中的表table的全部内容转换到word的表格中? Java虚拟机与浏览器的关系? 关于loadmovie的问题 请问在网页表格中如何把数据读取后在一行中横向排列? 我用IE6.0菜单中的 编辑→查找 出现以下错误 问一个关于类引用的问题(新手) 关于参数的问题,棘手啊 今天我女朋友出门了,,我好担心。。。。。。可恶的非典 当金钱站起来说话时,所有真理都沉默了. 多高的电压能造成这样 的效果 有关班级的文章. 当金钱站起来说话时 所有的真理都沉默了 是什么意思 摩擦起电的电压有多高? 大跃进是什么时候开始的? 当金钱站起来说话的时候 所有真理都沉默了 能不能用确切的语法翻译下 口语最好 谢谢用日语翻译 - - 雷速登闪电冲线的马达怎么拆电阻如题!还有就是我的车角度由点斜!微调每用怎么办? 大跃进时期开始做广播体操了吗 电势滴定法与常规四大滴定法有什么不同? 雷速登闪电冲线的外壳怎么拆 在水平面上匀速骑车时脚的蹬力是否等于风的阻力(阻力只考虑风的阻力),为什么 粮食法今年出台的可能性大不?稍微说说为什么. 打火机里面的白色的水是什么?是一种液体嘛?还有打火机的燃烧过程是怎么形成的?.不好意思没分了! 简称和词有什么区别和联系?举例说明本义、引申义与基本义之间的关系?什么是反义词?构成反义词的条件是 为什么1molCr3+生成Cr2O2-7电子转移3mol而不是6mol.求指点! 今天妈妈洗白菜苔的时候,用冷水洗的,但是洗菜的水变成了绿色,以前从来都不会,是不是这白菜苔有什么问题,或者用药水处理过之类的? 合唱英文歌,现实男的说唱,里面有you was on the sun ,looking cute ,looking fine,后面高潮部分女生独唱女生声音像小孩子,大致是这样的if i wanna loving you ,you know, just i wanna let you see the show.男生部分还有 我需要各种氧化剂、还原剂的强弱.氧化剂要包括各种单质、酸根、化合物. OFF,ON哪个是开关键. 找关于大锅饭、人民公社、大跃进,等这个历史阶段的电视剧和电影.我就是在看傻春,觉得对那个年代的风俗感兴趣,所以想多了解一点. 初二下大气压物理的题最好受力分析复杂的 3KW主轴电机一个小时用多少电?是只要一运行就得每小时用3KW的电吗,假如空转时呢,负荷大小对他的用电量有差别吗?因为我看了我的电表显示计算出来的不是每小时3度电才有此一问. 推荐几部大跃进或者文革时期的电影老电影,大跃进时期或者文革时期的,黑白电影,忽然想看看,当年拍的反应当年热火朝天的大跃进或者社会主义建设的电影,不要后来拍的,就要当时的 十个大气压下4.91平方厘米受多少力 如图所示,天平左盘上放一水银槽,水银槽内插入一个托里拆利管,管内为真空,托里拆利管的上端用细线悬吊,天平右盘放有砝码,开始时天平平衡,如果大气压减小则天平:A、左盘下降B、右盘下 急求"寒流"的含义是什么?除了本义的解释外还有引申义!现在人们把"寒流"经常用来说明更深的含义,求那部分的内容.当然还要本义. 打火机燃烧后会怎么样 明清四大小说主要故事情节? 1958年大跃进在经济和教育上的表现是什么? 关于汉武帝的短短小故事 求初中物理竞赛受力分析问题如http://zhidao.baidu.com/question/165726146.html “扮演”这个词的原意和引申义.请各位前辈指教! 条形磁铁折断后的磁极是怎样分部的?断开处的磁极名是什么,为什么断开后按原样接回去会排斥? 求足球烯C60的不饱和度!按不饱和度=(2n+2-m)/2算,该是61,但是由于它是立体图形,不饱和度比面数少1,...求足球烯C60的不饱和度!按不饱和度=(2n+2-m)/2算,该是61,但是由于它是立体图形,不饱和度比面 请解释一下“天作孽犹可恕、人作孽不可活” 电阻是多少以下导体都是 直径4毫米 10米长 金银铜铁锡 还有钨丝 电阻值是多少 还有人的电阻值 用人字组词,看谁组得多. 什么叫天作孽犹可恕,自作孽不可活. 如图,物体A放在B、C上,假设物体上部大气压小于物体下部大气压,这时候受力面积是哪些的?还有假设物体A重20N,物体A下部和上部的压强差为19N ,这时候压强不平分受力面积? 为什么收缩膜自然冷却后起皱 摩托车大轮好还是小轮好 力为0.2N 面积为2.5^2*3.14.求有好多个大气压? 乾粉灭火器内的乾粉是什么成份 摩托车跑快了就有阻力是怎么回事?今天去县城,跑到60码,然后感觉摩托车就像一个人在跑步时有大风跑不动样.,反正不对头,我形容不出来.特别是想超车时,加了油门不像平时,一加油门,一下就 棉油打火机为什么加了油过了一天就打不燃了怎么回事?.是不是里面的棉花没放好? 厚度是0.1-0.15的收缩膜得用什么样的型号的吹膜机.得多少钱 机动车前后轮胎所受阻力方向为什么会不同? 棉油打火机和煤油打火机是一回事情吗?棉油和煤油是一回事情吗? ABC乾粉灭火器内药剂是否要每年更换? 法兴银行,法兴投资,法兴担保,法兴保险代理公司,的关系? 损失坠入大气层变成火球是什么物理知识? 灭火器的使用方法 戴法兴,会稽山阴人也.家贫,父硕子以贩紵为业.法兴二兄延寿、延兴并修立,延寿善书,法兴好学.山阴有陈戴者,家富有钱三千万,乡人咸云:“戴硕子三儿敌陈戴三千万钱.” 咸: 滴定的问题做COD测定时,当快到滴定终点时,滴半滴到瓶壁上再用水冲洗下去,颜色改变,这时认为到达终点.加的水会不会影响终点的判断啊! 返回舱完成了太空飞行任务返回地球时为什么会变成一个亮丽的火球 形容用人恰当的词语 化学分析中滴定碳酸根及碳酸氢根时,酚酞与混合指示剂有明显的显色范围,酚酞为8.3以上,混合指示剂是4.4,当溶液ph值在8.3以上时,试验是怎样确定溶液中存在碳酸氢根的? 存在于混凝土中的电雷管在什么情况下会爆炸? 补充词语 人事()()fetewt5t5 俄罗斯举行大型集体哺乳快闪活动(组图二战中的情报暗战:丘吉尔为保密牺牲一德外交部长召见美大使 国内热议手机通凯特王妃被传再次怀孕 王室代表称并非纽约时报:东亚首富李嘉诚“脱亚入欧”法新社:中国转向南美化解原油“饥渴”最高层着手“顶层设计” 中国周边外交遭官员强奸女童家长:负担过重不得不民“国考”报名结束152万人过审 最热嫦娥三号任务运载火箭启程 预计11月解放军用实战对抗提升战力 预想剧本出经济观察:中国化解产能过剩并非简单“打造两岸经贸合作升级版 ECFA后续美媒:失业者重找工作需要做的五件事外媒曝查尔斯不想当国王 王位或将越代美媒:中国能成为生物技术领域领导者吗美霸主地位逐渐丧失 “去美国化”引争港媒:华人强烈抗议“杀光中国人”言论俄外长与联合国叙问题特使讨论筹备叙问联合国-阿盟叙特使称伊朗应参加叙问题法国正式要求美国停止监听行为 希望低“唐慧女儿案”被告人秦星今受审 此前乌克兰总理亚采纽克宣布辞职本周打新资金将超万亿我省放开大学毕业生落户限制奋斗的青春最美丽首批足球苗子抵达阿根廷受训姥姥姥爷用退休金供了她17年 她做梦本周末活动震撼升级 优惠劲享不停(下《哨响shaoxiang用镜头记录神秘尼泊尔国美入吉10周年火爆升级 全线怒放吉林好青年颁奖典礼在长举行把风景穿在身上通源医院启动“进社区送健康”公益活动女装低至一折 男装50元起勒夫将继续指挥战车8月旅游流量不够用?本报送您300M收复年线 重返2100报名参加活动可获三项惠民体检 “洋市夏令营吉林站 吹响集结号全国少数民族大学生骨干来我省进行社会
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘