C# - 增加視窗使用便利性
1. 設定物件的 TabIndex 屬性
使用者在操作視窗程式時,常常做輸入資料的動作,而這些動作通常是使用鍵盤輸入的。可是當填完一個欄位後,又必須移動滑鼠到下一個欄位才能夠填寫資料。如此重複著滑鼠與鍵盤之間,使得輸入的動作變得相當地緩慢!
第一個便利性的設計,就是設定 TabIndex 屬性,讓使用者直接用鍵盤就可以完整所有填寫表單的動作。而透過視窗上各物件 TabIndex 屬性的值,由小到大就決定,使用者按下【Tab 】鍵後,視窗焦點轉移的目標。如此一來,使用填完某一個欄位的值,再按下【 Tab 】鍵就可以繼續填下一個欄位資料,豈不是方便多了。
透過功能表上的【檢視】->【定位順序】 ,就可以查看目前的順序。再利用滑鼠點擊的動作,就可以改變新的順序。
2. 建立 Access Key
U nitPrice: |
A |
Q uantity: |
B |
視窗程式常常如上圖所示,資料的填寫欄 A、B 會與標籤 U nitPrice、Q uantity 形成一對。這樣就代表了:A 欄位填寫的是 U nitPrice 的資料,B 欄位填寫 Q uantity 的資料。
另外,仔細觀察 U nitPrice 的 U 是有底線的,Q uantity 的 Q 是有底線的。那表示有設定 Access key 了,功用就是可以幫助我們按下 Alt + U 就跑到 A 欄位,Alt + Q 就跑到 B 欄位。
設定方式:(1) 需先確定 TextBox 欄位 A 的 TabIndex 屬性,必須為 Label 標籤 UnitPrice 多 1;TextBox 欄位 B 的 TabIndex 屬性,比 Label 標籤 Quantity 也是多 1。 (2) 設定 Label 標籤 UnitPrice 的 Text 屬性,原本為 UnitPrice 則改為 & UnitPrice。 & 後面的字元就代表了 Access Key 。
3. 預設按鍵
設定 Form 表單的 AcceptButton 屬性與 CancelButton 屬性,當在視窗按下 Enter 就執行 AcceptButton 指定按鈕的動作;按下 ESC 就執行 CancelButton 指定按鈕的動作。
那通常視窗程式中,按下 Enter 就代表【確定 】按鈕,儲存設定;而按下 ESC 就代表【取消 】按鈕,回復舊有的設定。