---鍵盤控制焦點移動---
在數據庫的項目中,一定會有輸入數據的form.最令錄入人員頭痛的就是每填完一個數據后,要再操作鼠標,或者另一只手按一下tab(不過還是很麻煩).最人性化呢就是:按回車鍵(在小鍵盤內輸入只要一只手就可以了),還可以用方向鍵控制.
第一步:form的keypreview的屬性為true
第二步:按照需要把tabindex按順序設置
第三步:編寫一個方法,代碼如下:
'---focusmove is function name--
'---controlname is the control's name which you want to use ---
private sub focusmove()sub focusmove(byval sender as object, byval e as system.windows.forms.keypresseventargs) handles controlname1.keypress, controlname2.keypress
if e.keychar = chrw(13) then
'---selectnextcontrol is a function will be introduced next---
selectnextcontrol(sender, true, true, true, false)
end if
end sub
selectnextcontrol的說明來自msdn:
激活下一個控件。
[visual basic]
public function selectnextcontrol( _
byval ctl as control, _
byval forward as boolean, _
byval tabstoponly as boolean, _
byval nested as boolean, _
byval wrap as boolean _
) as boolean
[c#]
public bool selectnextcontrol(
control ctl,
bool forward,
bool tabstoponly,
bool nested,
bool wrap
);
[c++]
public: bool selectnextcontrol(
control* ctl,
bool forward,
bool tabstoponly,
bool nested,
bool wrap
);
[jscript]
public function selectnextcontrol(
ctl : control,
forward : boolean,
tabstoponly : boolean,
nested : boolean,
wrap : boolean
) : boolean;
參數
ctl
從其上開始搜索的 control。
forward
如果為 true 則在 tab 鍵順序中前移;如果為 false 則在 tab 鍵順序中后移。
tabstoponly
true 表示忽略 tabstop 屬性設置為 false 的控件;false 表示不忽略。
nested
true 表示包括嵌套子控件(子控件的子級);false 表示不包括。
wrap
true 表示在到達最后一個控件之后從 tab 鍵順序中第一個控件開始繼續搜索;false 表示不繼續搜索。
返回值
如果控件已激活,則為 true;否則為 false。
備注
如果將控件的 controlstyles.selectable 樣式位設置為 true,該控件包含在另一個控件中,而且其所有父控件都可見并已啟用,則 selectnextcontrol 方法激活 tab 鍵順序中的下一個控件。
下面列表中的 windows 窗體控件是不可選擇的。從該列表中的控件派生的控件也是不可選擇的。
label
panel
groupbox
picturebox
progressbar
splitter
linklabel(當控件中沒有鏈接時)
要求
平臺: windows 98, windows nt 4.0, windows me, windows 2000, windows xp home edition, windows xp professional, windows server 2003 系列
最后要注意的就是tabindex的設置,如果控件在groupbox中,那么groupbox要在tabindex的順序中,就是說,如果textbox1在groupbox1中,那么groupbox1.index=1,textbox1.index=2.并且在selectnextcontrold的參數nested=true,即可.還有一些細節大家在平時使用的時候還要多多注意的.
---end---