我有两个面板,每个面板有几个文本框 . 我想要的是看似非常简单的东西:用户在此面板中输入文本框,然后按Tab键跳转到其他面板中的“链接”文本框 .
但是,vb拒绝跳转到其他面板,除非它完成了一个面板内的所有文本框,无论它是什么TapStop .
我试图从文本框中捕获tab键,并将焦点发送到链接的一个但没有成功:按Tab键甚至不触发KeyDown和KeyPress事件 .
我试图首先将TabStop设置为面板,但这也失败了 .
所以,问题仍然存在..如何设置tabstop ..或任何类似的方法,到两个面板之间的文本框,以便当用户在一个面板中按Tab键时,它将切换到另一个面板?
我需要Tab键,而不是任何其他键 .
1 回答
您必须将表单上每个控件的
TabStop
属性设置为False
,然后自己处理Tab键,您可以这样做:您希望能够从Tab控制的每个控件必须位于
Handles
子句中,并且您希望能够Tab键到或来自的每个控件必须在数组中,并且按照您要Tab键的顺序 . 您还应该再次重复数组末尾的第一个控件,以便从最后回到开头 .另请注意,默认情况下不会选择任何控件,如果它们都没有停止,在这种情况下,您必须手动
Select
您希望在窗体的Shown
事件处理程序中具有焦点的控件 .编辑:这是一个更完整的例子:
该代码适用于以下形式,其中TextBox1,TextBox2和TextBox3在Panel1中,TextBox4,TextBox5和TextBox6在Panel2中: