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

用VB设计更好的用户界面

HTML文档下载 WORD文档下载 PDF文档下载
用VB设计更好的用户界面
有时在一个窗口中出现较多的控制件时,如果能向导式地建议用户下一步该做什么,不失为上策。在Visual Basic的程序设计中,我们可以使用语句:object.SetFaocus使我们希望的控件得到输入焦点,举个例子:在Form1中我们加入一个按钮Command1和一个文本输入Text1,双击按钮控件,然后键入如下代码:text1.SetFocus

  再按F5运行程序,您就会看到一单击按钮,文本框会立即取得输入焦点。另外,我们还可以使用语句:Sendkeys "{TAB}"使下一个控件获得焦点,但我们需要在设计时确定各控件的Index值。(在Properties窗口中)让控件自己感知自己的工作已完成,而主动将焦点让出,会使用户觉得应用程序很聪明,也减少了用户出错的机会。
  可是当焦点切换的两个控件相隔有一定距离时,上述的方法有时也不足以引起用户的注意,那么一种好的解决方法是将鼠标箭头也移到控件上。可惜,VB并不支持鼠标移动,那我们就求助API函数,API函数SetCursorPos可让我们如愿。
  下面是子程序MoveCursorOn,它可让鼠标移动到指定控件上方。

下列代码请放在declarations段中:
Type PoinTAPI
x As Integer
y As Integer
End Type
Declare Sub SetCursorPos Lib "User"(Byval x As Integer,Byval y As Integer)
Declare Sub ClientToScreen Lib "User"(Byval hwnd As Integer,IpPoint As PointAPI)
Declare Function GetParent Lib "User"(Byval hwnd As Integer)As Integer

然后建立一个新的子程序(ALT+N→N→键入子程序名MoveCursorOn),下面是子程序的代码:
Sub MoveCursorOn(source As Control)
   Dim Pt As PoinTAPI
   Dim hparent As Integer
   p.x=(Source.Left+Source.Width/2)/Screen.Twipsperpixel)
   p.y=(Source.Top+Source.Height/2)/Screen.Twipsperpixel)
   hparent=GetParent(source.hwnd)
   ClientToScreen hparent pt
   SetCursorPos pt.x pt.y
   End Sub

使用该子程序很容易,例如我们想把鼠标移动到按钮Command1上,就可使用语句Move Cursor On Command1
您会看到鼠标箭头已经指着按钮Command1。
  需要说明的是,千万不要滥用该子程序。让鼠标自己满屏乱飞,我们的用户会感到失去对应用程序的控制,这是违反我们的初衷的。
在有数个输入框的窗口中(这在数据库应用程序中是很典型的),当用户完成第一个输入框的输入后,总爱习惯性的加一个回车,希望输入焦点落到下一个输入框中(DOS中大多数应用程序是如此),可往往事与愿违,这一回车却触发了拥有Default特性的按钮,结果不是关闭了当前窗口就是又蹦出另一窗口。用户睁大眼睛看着屏幕,"咦?!我到底做了什么?”这是Windows新用户经常遇到的事情。解决它其实很容易,只需在输入框的KeyPress事件中加入如下代码:

IF KeyASCII=13 Then
  KeyASCII=0
  Sendkeys "{TAB}"
END IF

这样,当用户在这个输入框中键入Enter时,就象键入TAB键时,焦点被移到下一控件上。但需注意,这种方法不适用于多行的TextBox,即TextBox的MultiLine特性设为True时,因为这时的回车键是起换行的作用。
设计师如何写出更棒的项目建议 微软以1亿美元收购Parature“知识库” 登陆CES:三星发布智能家庭平台Smart Home CES 2014:GPS供应商Garmin推健康腕带Vivofit 《近匠》第05期:移动开发工具访谈,个推——有节操的push 【Hadoop技术博客推荐】Hive的那些事 Twitter联合创始人推社交搜索应用Jelly 马云“食言”进军手游分成比例8:2,开发者可拿7成 CodeCombat游戏全面开源:玩游戏也能学编程 Netflix首席云架构师Adrian Cockcroft加盟Battery Ventures Android 4.3附体:RIBX发布FB/Ti 互联网手表 IE11界面布局的秘密武器:Quero Toolbar 【开源专访】Node-Webkit作者王文睿:桌面应用的全新开发方式 CentOS归属红帽:企业级Linux领域社区与商业的融合 印度初创公司Little Eye Labs证实已被Facebook收购 雅虎收购Aviate:重在提升用户体验 SDN领域硝烟再起,Oracle将Corente收入囊中 Hadoop科普文——常见的45个问题解答 CES 2014:奥迪下一代汽车将采用NVIDIA的芯片! Cocos 3.0 Beta发布:更易用、更友好 开拓新兴市场?诺基亚或推Android手机,UI界面遭泄露 预测2014大数据值得关注的8个发展方向 霸主地位再临挑战?Salesforce CEO,我们不只有Oracle LBS应用新星、“司机好助手”微车借力移动互联网,志在打造车主的个人移动门户 新一代IDE Light Table开源:让编程工作更简单 图片应用也能高大上,看Cooliris如何玩转无人机 拥抱Spark,机遇无限——Spark Summit 2013精彩回顾 1月10日:改变世界的iPhone七岁了,你是传奇! 同洲电子推出首款手机操作系统960OS 免费授权使用 如何在Windows 8.1的IE11中打开同步选项卡? 25年老对手评价微软:换CEO可行,但是太迟了 session 和 cookie 各有千秋,区别在那里啊?敬请赐教! fm1008leaf(小幻姬(玉笛书生的徒弟)):我考考你就知道你是真是假! jneu(沧海桑田)怎么不理我?有关宏拷贝问题 paradox中的NUM类型在sql语句中是什么类型?为什么asfloat会出错? 关于J2EE的就业前景,值不值的花二万元参加一个二十天的培训,欢迎大家热烈讨论 在listbox 中,如果知道了一个Item的内容,怎么知道它的indix 今有同仁问到,三十以后咋过。恰巧心情郁闷,发上几句牢骚。 少年暗恋对象,早已嫁作人妇。那天遇见街头,孩子叫我叔叔。 OICQ问题! 如何可获得Table 内字段的类型及长度? windows2000 server 的internet 共享怎样设置权限 软件开发的请进来讨论,关于报酬的问题。大家多提建议。 1.为什么有些地方可以用MessageBox函数,有些地方不可以2.mfc的CView::OnFilePrint提供了打印的方法,要是一个程序没有视图要打印一般用什么方法? 请问在DEVELOP2000里面可以使用进度条控件吗?怎么编程实现? ???oracle监听器问题? WebBrowser控件获得网页中文本框的名称该如何写? CFtpConnection 怎样在FastReport中控制或判断所连接的数据库表到了eof? CTypedPtrList模板对象中,如何删除指定位置的元素??十分着急! ms sql server 的技术问题 怎样清除事务日志????????? 在那里改个人在cdsn.net注册信息(如名字,地秩)? 关闭窗口的事件如何触发?( 高手们请问deiphi如何实玩宏代换???????????十分火急!!!!!!! 请帮忙!!SOS!!! 请问如何实现宏代换????????????? 关于打印的一个不错的设想 我是新手,初次接触网络管理,请问要管理局域网需要具备哪些方面的知识,需要安装那些应用软件?有什么好书可以介绍吗?谢谢各位! 在VB中设计控件,其上放有uText1、Text2,当uText1失去焦点时,并不触发Validate事件 如何在程序中判断是否做了超级连接? 怎样使listview中的大图标左右居中,上下居中。 怎么样处理聊天室的退出问题? 比较大的问题,请做过JAVA系统集成方案的朋友指点!!! applet,这个霸道的家伙!怎么解决阿? c++类的一个小问题 一个大家都很棘手的问题 关天构造函数的问题 学习《windows程序设计》中的问题? pb8里的autoscript怎么弹出那么慢 消息:c++与Visaul c是不是有一定的区别呢? 怎样通过程序获得当前可用的拨号网络列表?? 高手在哪里?-------> 如何在第一时间里获得屏幕的变化呢?及获得屏幕变化的那部分?各位大师,帮帮我。谢了。 请问想具备基本的网络和数据库管理方面的知识,看什么书好啊?请大家帮忙推荐一下,谢谢! 请教W2k下使用Access的问题 大家帮帮忙,sql菜鸟问题, 各位兄弟帮忙看一下 谁知道高程分数线?拜托告知一声! 如何判断是否做了超级连接? vc中怎样调用dos下的代参数的可执行文件???请教! 如何让TreeView控件的每一个子节点前有一个多选框! jbuilder4中的JGL的问题 如何构建一个数据仓库(高分求救) 怎么样在NT里看到我的电脑装了哪些硬件? 食盐中碘含量 2011年高一化学期末检测试题最后一题取4、6g某有机物在氧气中完全燃烧,只有二氧化碳和水蒸气生成.现将生成的混合气体先通过足量硫酸,浓硫酸增重5、4g,再将剩余气体通过澄清石灰水生成 配平化学方程式具体算法? 最好说的通俗易懂. 谢谢啦 1.五水硫酸铜和硫酸铜溶液有什么区别?不是硫酸铜加水得到五水硫酸铜吗?2.硫酸铜溶液是由无水硫酸铜加水得来的吗?3.CuSO4·5H2O是属于化合物还是什么?4.水合结晶硫酸铜又是怎么回事?是什么 高一化学必修2期末试题 要所有化学方程式配平方法详解,还要举例的. 硫酸铜五水硫酸铜无水硫酸铜无水硫酸铜不能容解是吗?如果能溶解,那它的溶质叫什么?五水硫酸铜溶解以后的溶液叫五水硫酸铜还是硫酸铜?为什么?具体有什么区别? 无水硫酸铜在空气中短期放置是否会变色短期放置 能否在试验中用于测试空气中是否有水分?若不能 应怎样测试? 食盐的成分 如何由硫酸铜溶液怎么得到五水硫酸铜? 一包食盐质量为1kg,其中含碘酸钾5%,则这包食盐中含碘元素的质量是多少?答案是0.03kg,求过程. 食盐的成分是氯化钠这句话是描述食盐的什么性质?是物理性质还是化学性质 高一化学题(气体摩尔体积计算)在标准状况下,11.2LCO和CO2的混合气体质量为20.4 g.求它们的体积之比和质量之比. 一包食盐质量为1kg其中含碘酸钾5kg则食盐中含碘元素的质量是?说出原因,写出计算过程. 高一化学必修一物质的量习题8.4g氮气和9.6g某单质Rx所含的原子个数相同,且分子个数之比为3:2,则R的相对原子质量是——,x的值是——.小学生绕道,知道的来 一道高一化学题(关于气体摩尔体积计算)19世纪有些化学家测定某元素R的相对原子质量时,采用的办法是:用等容积的烧瓶4只,分别盛入N2、X、Y、Z四种气态物质,操作时先把烧瓶抽成真空,充 1kg某食盐中含碘35±15mg,则含碘酸钾应为多少克? 练习题一、填空题 1.5molCO2的质量是______;在标准状况下所占的体积约为______;所含的分子数目约为______;所含氧原子的数目约为______.2.在400mL2mol/LH2SO4溶液中,溶质的质量是______.此溶液中 3 高一化学气体摩尔体积练习在同温,同压下,A容器的氯气和B容器的氨气中,若他们所含的原子数相等,则这两个容器的体积比是?A 2:1B 2:3C 1:2D 1:3 1kg食盐中最多含有碘元素的质量是多少? 这里有个高一化学方程式,请配平,Na2SX+NaClO+NaOH=Na2SO4+NaCl+H2O注意:其中x为未知数!还有一个比较简单:K2Cr2O7+Fe3O4+H2SO4=Cr2(SO4)3+Fe2(SO4)3+K2SO4+H2O CS2(常温下为液体)在氧气中充分燃烧生成SO2和CO2,若0.1mol CS2在1mol O2中完全燃烧,反应后气体混合物在标准状况下的体积是多少? 食盐中的碘含量是元素含量还是碘酸钾含量? 高一化学方程式配平的方法 高一化学题下列说法正确的是()A 28克氮气所含有的原子数目为NAB 4克金属钙变成钙离子时失去的电子数目为0.1NAC 1mol甲烷的质量与NA个甲烷分子的质量之和相等D 标准状态下,22.4L甲烷和乙炔混 物质的量 有关的计算题...已知K的氧化物有K2O2和 KO2,在这两种化合物组成的混合物中,钾和氧的质量之比为13:8,求混合物中K2O2和 KO2的物质的量之比.. 什么植物里有盐的成分 市场上有卖不含碘的盐吗?是什么品牌的? 氧化铬能够用碳还原么?请写出化学方程式最好能够注明相对分子质量我用重铬酸铵粉末制取了少量的氧化铬,现在我想用碳还原,因为氢气、一氧化碳不安全,敢问能否实现?有什么现象? 高一化学方程式怎么配平 托盘天平两端的烧杯中各盛浓度和质量都相同的足量稀硫酸,此时天平平衡;然后向一烧杯中加入6克镁粉,向另一烧杯中加入6克铜铝合金,充分反应后,托盘天平仍保持平衡,则铝铜合金中铜的质 怎样测试盐含不含碘把土豆切开放点盐,土豆变色就是含碘,这种方法对吗? 盐有什么化学成份 【高一化学】检验碘的实验》》》卫生部规定食盐中必须加碘,其中碘以碘酸钾(KIO3)的形式存在.已知溶液中IO3(-)和I(-)可发生反应:IO3(-)+5I(-)+6H(+)====3I2+3H2O.据此反应,可用试纸和一些生活中 不含碘的食盐能吃吗 盐的成份是什么主要由钠组成的,还有其他的微量元素 设计一个试验检验含碘食盐中的碘试验原理,材料,仪器和要注意的问题 吃不含碘的盐好吗 食盐的成分是什么 检验食盐中的碘(实验)?验证食盐是否含碘,用一般家庭中有的东西能检验出来吗?如果不行的话,用用什么方法呢? 不含碘的食盐西安哪里有?盐务局?谁帮我问 氢氧化纳和碳酸铝的化学反应方程式 无水硫酸铜与什么反应能变色还要在后面写出化学式 可使白色硫酸铜粉末变成蓝色晶体的气体是什么 化学高一必修1物质的量2摩尔NO和2摩尔NO2中所含的原子数相等吗?我想问一下:假如我用N1:N2=n1:n2的公式来算的话,2摩尔的NO和NO2质量就是相等的,但计算2摩尔NO和NO2时,NO中所含的原子为4摩尔,NO 氢气能使无水硫酸铜变色吗 白色CuSO4粉末通过什么会变成蓝色晶体 高一必修一化学物质的量下列物质中氧原子数目与11.7gNa2O2中氧原子数一定相等的是A.6.27L CO B.6.6g CO2 C.8g SO3 D.9.6g H2SO4不是单选题 无水硫酸铜放入水中变色是化学反应吗?是无水硫酸铜! 白色硫酸铜粉末加什么粉末变成蓝色晶体?化学式是什么 物质的量方面下列关于溶液物质的量浓度的说法正确的是( )A.把1mol/L NaCl溶于1L水中所得溶液的物质的量浓度为1mol/LB.把0.1mol/L投入100ml容量瓶中,加水至刻度线,充分震荡后,溶液浓度为1mol/LC. 含碘食盐怎样日常保存?如题我想找些关于含碘食盐的日常保存的资料,做探究用的. 谁有高一化学上学期期末试卷 1.1.5molCO2的质量是多少?有8.8gCO2中含有多少个CO2分子?2.9.8gH2SO4中有多少个H2SO4分子?多少个氢原子?多少个硫原子?多少个氧原子?多少个SO42-离子?3.1.204×1023个H2O分子的物质的量是多少?质量是多少? 怎么去除食盐里的碘 高一化学期末试题.在稀硝酸中加入CuO粉末,恰好将CuO全部溶解,溶解后无色溶液变____色.在所得溶液中加入过量铁粉,可得红色固体和浅绿色溶液,其反应方程式是____.滤出固体,在溶液中加入稀硫 急+追分!1.用30gNaOH溶于500ml水中,所得溶液的密度为1.02g/ml ,求该溶液的物质的量浓度.2.700体积的NH3(标况)溶于1体积的水中,所得溶液的密度为0.9g/ml,求所得溶液的物质的量浓度.3.将足量的金属锌 如何验证盐中含碘首先,在选购时应注意检验一下含碘量.用少许盐放入白瓷碗内,用水拦湿入微量漂白粉拌匀,再加入少量淀粉,搅拌观察.若盐中含碘,便呈蓝色,含碘越多,蓝色越深,若无碘则呈现 西宁2007-2008高一化学期末调研试卷 盐的成分是什么
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn