開發Winform程式時, 可以將表單設計為使用鍵盤的Enter,上,下箭頭鍵移動表單上控制項的輸入焦點,根據亞當斯的觀察,這種操作方式在很多大型主機上,如AS400等系統中都是這樣的操作模式,所以其實很多使用者都已經習慣這樣的操作模式了,然而Winform也有提供這樣的設計功能,只是幾乎很少被提到! 剛好上課時有同學提出這個問題,亞當斯就在這邊紀錄一下設計方式給各位參考。假設有一個表單畫面如下:
用鍵盤移動控制項焦點的設計方式有以下兩個重點步驟:
1.設定Form的KeyPreview 屬性,指出表單是否在事件傳送至具有焦點的控制項之前,要接收按鍵事件,當設定這個屬性為 true,表單將接收所有 KeyPress、KeyDown 和 KeyUp 事件。
2.在From的KeyDown事件中,使用e.KeyCode判斷按下鍵盤的哪一個按鍵,如果按下的是:Enter或是上、下鍵的話,就移動表單中的控制項焦點,程式碼如下:
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyCode
Case Keys.Enter, Keys.Down
SendKeys.Send("{TAB}")
Case Keys.Up
SendKeys.Send("+{TAB}")
End Select
End Sub
下列檔案為此篇文章的範例程式,有興趣的朋友可自行下載:
1 則留言:
你的WIndows Live 好棒喔
我也要分想:
http://cid-3bf78213656ffb24.office.live.com/documents.aspx#s_dvHead
張貼留言