六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

用Visual Basic設(shè)計(jì)更好的用戶界面

[摘要]有時(shí)在一個(gè)窗口中出現(xiàn)較多的控制件時(shí),如果能向?qū)降亟ㄗh用戶下一步該做什么,不失為上策。 在Visual Basic的程序設(shè)計(jì)中,我們可以使用語句:Object.SetFaocus使我們希望的控件得到輸入焦點(diǎn),舉個(gè)例子:在Form1中我們加入一個(gè)按鈕Command1和一個(gè)文本輸入Text1,雙擊按鈕...
有時(shí)在一個(gè)窗口中出現(xiàn)較多的控制件時(shí),如果能向?qū)降亟ㄗh用戶下一步該做什么,不失為上策。

在Visual Basic的程序設(shè)計(jì)中,我們可以使用語句:Object.SetFaocus使我們希望的控件得到輸入焦點(diǎn),舉個(gè)例子:在Form1中我們加入一個(gè)按鈕Command1和一個(gè)文本輸入Text1,雙擊按鈕控件,然后鍵入如下代碼:

Text1.SetFocus

再按F5運(yùn)行程序,您就會(huì)看到一單擊按鈕,文本框會(huì)立即取得輸入焦點(diǎn)。另外,我們還可以使用語句:Sendkeys "{TAB}"使下一個(gè)控件獲得焦點(diǎn),但我們需要在設(shè)計(jì)時(shí)確定各控件的Index值。(在Properties窗口中)讓控件自己感知自己的工作已完成,而主動(dòng)將焦點(diǎn)讓出,會(huì)使用戶覺得應(yīng)用程序很聰明,也減少了用戶出錯(cuò)的機(jī)會(huì)。

可是當(dāng)焦點(diǎn)切換的兩個(gè)控件相隔有一定距離時(shí),上述的方法有時(shí)也不足以引起用戶的注意,那么一種好的解決方法是將鼠標(biāo)箭頭也移到控件上。可惜,VB并不支持鼠標(biāo)移動(dòng),那我們就求助API函數(shù),API函數(shù)SetCursorPos可讓我們?nèi)缭浮?

下面是子程序MoveCursorOn,它可讓鼠標(biāo)移動(dòng)到指定控件上方。

下列代碼請(qǐng)放在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

然后建立一個(gè)新的子程序(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

使用該子程序很容易,例如我們想把鼠標(biāo)移動(dòng)到按鈕Command1上,就可使用語句

Move Cursor On Command1

您會(huì)看到鼠標(biāo)箭頭已經(jīng)指著按鈕Command1。

需要說明的是,千萬不要濫用該子程序。讓鼠標(biāo)自己滿屏亂飛,我們的用戶會(huì)感到失去對(duì)應(yīng)用程序的控制,這是違反我們的初衷的。

在有數(shù)個(gè)輸入框的窗口中(這在數(shù)據(jù)庫應(yīng)用程序中是很典型的),當(dāng)用戶完成第一個(gè)輸入框的輸入后,總愛習(xí)慣性的加一個(gè)回車,希望輸入焦點(diǎn)落到下一個(gè)輸入框中(DOS中大多數(shù)應(yīng)用程序是如此),可往往事與愿違,這一回車卻觸發(fā)了擁有Default特性的按鈕,結(jié)果不是關(guān)閉了當(dāng)前窗口就是又蹦出另一窗口。用戶睜大眼睛看著屏幕,“咦?!我到底做了什么?”這是Windows新用戶經(jīng)常遇到的事情。

解決它其實(shí)很容易,只需在輸入框的KeyPress事件中加入如下代碼:

IF KeyASCII=13 Then

KeyASCII=0

Sendkeys "{TAB}"

END IF

這樣,當(dāng)用戶在這個(gè)輸入框中鍵入Enter時(shí),就象鍵入TAB鍵時(shí),焦點(diǎn)被移到下一控件上。但需注意,這種方法不適用于多行的TextBox,即TextBox的MultiLine特性設(shè)為True時(shí),因?yàn)檫@時(shí)的回車鍵是起換行的作用。


主站蜘蛛池模板: 天天干天天爱天天操 | 天天躁夜夜躁狠狠躁2021西西 | 午夜在线亚洲 | 丝袜美腿亚洲一区二区图片 | 小屁孩cao大人免费网站 | 四虎黄色网址 | 午夜爱爱毛片xxxx视频免费看 | 午夜私人影院粉色视频我要 | 亚洲三级欧美 | 午夜性刺激免费视频观看不卡专区 | 自拍视频在线观看视频精品 | 天天躁日日躁狠狠躁中文字幕 | 人人看人人| 在线免费日韩 | 五月婷婷七月丁香 | 亚洲 欧美 中文 日韩欧美 | 天天综合天天操 | 王者天下第五季在线观看 | 亚洲欧美91| 五福影院凹凸一区二区 | 亚洲视频网址 | 小黄鸭b站视频在线 | 亚洲男人的天堂在线播放 | 青娱乐精品视觉盛宴 | 中文字幕精品亚洲无线码二区 | 日韩精品综合 | 一区二区三区精品视频 | 五月婷婷在线观看视频 | 午夜亚洲视频 | 日韩18| 日本成年人免费看 | 日本乱码一卡二卡三卡永久 | 天天拍夜夜添久久精品免费 | 在线视免费频观看韩国aaa | 中文字幕在线三浦惠理子 | 日本a级片免费看 | 一二三四手机在线观看视频播放 | 欧美性开放视频 | 欧美亚洲春色系列 | 日韩欧美三级视频 | 天天操夜夜添 |