作者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