作者OOQOO (哥只是傳說)
看板Visual_Basic
標題[.NET] 改變焦點問題
時間Wed Dec 11 17:52:52 2013
請輸入專案類型(網站專案或者應用程式專案): Windows form (用VS2012 EXPRESS版)
我想讓每個textbox只要按下Enter就會把焦點focus到button1上
focus過去後再按一次Enter才是觸發button1_Click事件
估狗大神只查到針對一個textbox新增KeyPress事件
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e
As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Chr(13) Then
Button1.Focus()
End If
End Sub
但是我如果有50幾個textbox都要同時有這個功能的話
是只能在Handles後面接上 ",TextBox2.KeyPress,TextBox3.KeyPress,..."這種方式嗎?
還是有比較簡單的寫法能包在同一個sub中呢?
麻煩各位了 <_ _>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.90.79
1F:→ MOONRAKER:你可以在form1_load中對用到的textbox用addhandler逐個 12/12 11:07
2F:→ MOONRAKER:指定事件處理常式。但是除非你是對所有textbox都這樣沒 12/12 11:09
3F:→ MOONRAKER:有例外可以用find()找出來,不然你還是需要用一個陣列 12/12 11:09
4F:→ MOONRAKER:列舉這五十幾個textbox,寫起來並不會比較短。 12/12 11:10
5F:→ OOQOO:大概了解了 感謝 12/12 16:57
6F:推 ClubT:.NET沒有陣列物件?? 12/13 11:55
7F:→ MOONRAKER:沒有text(k)這種命名就是陣列的物件,所以要用一個陣列 12/14 04:31
8F:→ MOONRAKER:包所有用到的物件。 12/14 04:31
9F:→ ClubT:原來如此... 12/18 10:19
10F:→ MOONRAKER:以前剛發現很不習慣,不過我也沒寫過這麼多物件共用一個 12/18 11:27
11F:→ MOONRAKER:handler的,頂多三四個。而且controls.find()還是要指定 12/18 11:33
12F:→ MOONRAKER:完整ID,並不是廣泛的find。底下這頁有幾種列舉方法。 12/18 11:36