使用鍵盤Keyboard操控Winform(1)-移動控制項焦點

摘要:使用鍵盤Keyboard操控Winform(1)-移動控制項焦點

開發Winform程式時,可以將表單設計為使用鍵盤的Enter,上,下箭頭鍵移動表單上控制項的輸入焦點,根據亞當斯的觀察,這種操作方式在很多大型主機上,如AS400等系統中都是這樣的操作模式,所以其實很多使用者都已經習慣這樣的操作模式了,然而Winform也有提供這樣的設計功能,只是幾乎很少被提到! 剛好上課時有同學提出這個問題,亞當斯就在這邊紀錄一下設計方式給各位參考。假設有一個表單畫面如下:
 

KeyboardInput01

用鍵盤移動控制項焦點的設計方式有以下兩個重點步驟:

1.設定Form的KeyPreview 屬性,指出表單是否在事件傳送至具有焦點的控制項之前,要接收按鍵事件,當設定這個屬性為 true,表單將接收所有 KeyPress、KeyDown 和 KeyUp 事件。
KeyboardInput02

2.在From的KeyDown事件中,使用e.KeyCode判斷按下鍵盤的哪一個按鍵,如果按下的是:Enter或是上、下鍵的話,就移動表單中的控制項焦點,程式碼如下:  


下列檔案為此篇文章的範例程式,有興趣的朋友可自行下載
http://wxze2g.bay.livefilestore.com/y1pCxpQuTB-FqX7qoLPohW89MCS2SoDGJFqX98EuoGv4YToGdFKYu5oUgBpKCDxmvtApvg4K6nQh1jp--1jVbXCWg/DemoKeyboardInput.zip?download