自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

快速掌握VB.NET Command1用法

開發(fā) 后端
這里簡單的介紹了VB.NET Command1的用法,利用VB.NET如何實(shí)現(xiàn)更好的用戶界面,文章都有詳細(xì)的介紹,希望對大家有幫助。

我們的項(xiàng)目到最后都是給用戶看的,我們?nèi)缋镉?VB.NET設(shè)計(jì)更好的用戶界面呢?這是個值得討論的問題。有時在一個窗口中出現(xiàn)較多的控制件時,如果能向?qū)降亟ㄗh用戶下一步該做什么,不失為上策。在Visual Basic的程序設(shè)計(jì)中,我們可以使用語句:Object.SetFaocus使我們希望的控件得到輸入焦點(diǎn),舉個例子:在Form1中我們加入一個按鈕VB.NET Command1和一個文本輸入Text1,雙擊按鈕控件,然后鍵入如下代碼:

  1. Text1.SetFocus 

#T#再按F5運(yùn)行程序,您就會看到一單擊按鈕,文本框會立即取得輸入焦點(diǎn)。另外,我們還可以使用語句:Sendkeys "{TAB}"使下一個控件獲得焦點(diǎn),但我們需要在設(shè)計(jì)時確定各控件的Index值。(在Properties窗口中)讓控件自己感知自己的工作已完成,而主動將焦點(diǎn)讓出,會使用戶覺得應(yīng)用程序很聰明,也減少了用戶出錯的機(jī)會??墒钱?dāng)焦點(diǎn)切換的兩個控件相隔有一定距離時,上述的方法有時也不足以引起用戶的注意,那么一種好的解決方法是將鼠標(biāo)箭頭也移到控件上??上?,VB并不支持鼠標(biāo)移動,那我們就求助API函數(shù),API函數(shù)SetCursorPos可讓我們?nèi)缭浮?/P>

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

  1. Type PoinTAPI  
  2. x As Integer  
  3. y As Integer  
  4. End Type  
  5. Declare Sub SetCursorPos Lib "User"(Byval x As Integer,Byval y As Integer)  
  6. Declare Sub ClientToScreen Lib "User"(Byval hwnd As Integer,IpPoint As PointAPI)  
  7. Declare Function GetParent Lib "User"(Byval hwnd As Integer)As Integer 

下列代碼請放在declarations段中然后建立一個新的子程序(ALT+N→N→鍵入子程序名MoveCursorOn),下面是子程序的代碼:

  1. Sub MoveCursorOn(source As Control)  
  2. Dim Pt As PoinTAPI  
  3. Dim hparent As Integer  
  4. p.x=(Source.Left+Source.Width/2)/Screen.Twipsperpixel)  
  5. p.y=(Source.Top+Source.Height/2)/Screen.Twipsperpixel)  
  6. hparent=GetParent(source.hwnd)  
  7. ClientToScreen hparent pt  
  8. SetCursorPos pt.x pt.y  
  9. End Sub  

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

  1. Move Cursor On Command1 

#T#您會看到鼠標(biāo)箭頭已經(jīng)指著按鈕VB.NET Command1。需要說明的是,千萬不要濫用該子程序。讓鼠標(biāo)自己滿屏亂飛,我們的用戶會感到失去對應(yīng)用程序的控制,這是違反我們的初衷的。在有數(shù)個輸入框的窗口中(這在數(shù)據(jù)庫應(yīng)用程序中是很典型的),當(dāng)用戶完成第一個輸入框的輸入后,總愛習(xí)慣性的加一個回車,希望輸入焦點(diǎn)落到下一個輸入框中(DOS中大多數(shù)應(yīng)用程序是如此),可往往事與愿違,這一回車卻觸發(fā)了擁有Default特性的按鈕,結(jié)果不是關(guān)閉了當(dāng)前窗口就是又蹦出另一窗口。用戶睜大眼睛看著屏幕,“咦?!我到底做了什么?”這是Windows新用戶經(jīng)常遇到的事情。

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

  1. IF KeyASCII=13 Then  
  2. KeyASCII=0 
  3. Sendkeys "{TAB}"  
  4. END IF 

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

責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2009-10-27 14:50:25

VB.NET控件數(shù)組

2009-10-28 16:47:26

VB.NET訪問數(shù)據(jù)庫

2009-10-29 14:16:32

VB.NET讀寫文本文

2010-01-18 10:13:08

VB.NET獲取CPU

2009-10-29 09:06:26

VB.NET Web

2009-10-09 16:11:33

VB.NET語法

2009-11-10 11:04:09

VB.NET數(shù)據(jù)類型

2010-01-12 10:19:02

VB.NET操作GDI

2010-01-08 18:16:52

VB.NET變量

2009-10-28 13:23:52

VB.NET可選參數(shù)

2009-11-02 12:35:10

VB.NET追加文件

2009-11-02 13:54:27

VB.NET shel

2009-10-30 13:31:06

VB.NET名空間

2009-10-28 15:01:59

VB.NET SHEL

2010-01-13 17:47:59

VB.NET拖放

2009-10-29 13:38:05

VB.NET Shar

2010-01-11 14:28:14

VB.NET操作Exc

2010-01-14 13:59:01

2010-01-21 18:35:56

VB.NET Impo

2010-01-14 10:07:08

VB.NET文件名排序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號