WPF,关于按Tab键切换焦点

货郎大叔 2018-02-21 10:37:55
情况是这样的:
有一个自定义控件CustomControl,里面包含2个文本框TextBox1和TextBox2,TextBox1和TextBox2是挨着的,以及一些其它控件。
有一个自定义控件CustomContro2,里面包含一个CustomControl以及其它一些控件,
在窗体中,包含一个CustomContro2,请问,
当窗体启动后,鼠标定位到TextBox1,然后按Tab键,如何让TextBox2立刻获得焦点?


难道要把整个窗体的所以其它控件的IsTabStop设为false?
...全文
1248 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋的红果实 2018-02-27
  • 打赏
  • 举报
回复
你要在CustomControl里面,设置tabindex属性,如0,1,其实紧挨着就行,我当时试过的,可行!
秋的红果实 2018-02-27
  • 打赏
  • 举报
回复
在CustomControl里面,设置textBox1的为0,textBox2的为1
货郎大叔 2018-02-27
  • 打赏
  • 举报
回复
引用 8 楼 small21 的回复:
TabIndex = "1" TabIndex = "2" 分别设置一下属性就行。
设置了得,没有效果
慧眼识狗熊 2018-02-23
  • 打赏
  • 举报
回复
TabIndex = "1" TabIndex = "2" 分别设置一下属性就行。
xcztb 2018-02-22
  • 打赏
  • 举报
回复
没有试过tab键的做法,因为在程序中很少使用tab键切换控件焦点(虽然是默认的),一般都是使用回车键 在我的想像里,按tab键应该是会根据控件的顺序,自动切换的 如果没有自动切换,那就需要在自定义控件CustomControl中定义按键事件 我有VB的,自己转换成C#吧 XAML:
    <Grid>
        <DockPanel>
            <TextBox x:Name="textBox1" KeyDown="textBox_KeyDown" Width="120"/>
            <TextBox x:Name="textBox2" Width="120"/>
        </DockPanel>
    </Grid>
事件:
    Private Sub textBox_KeyDown(sender As Object, e As KeyEventArgs)
        If e.Key = Key.Tab Then
            MsgBox("按下了Tab键")
        End If
    End Sub
货郎大叔 2018-02-22
  • 打赏
  • 举报
回复
引用 4 楼 anboat 的回复:
TextBox2 keydown事件中,判断e.key是否为Key.Tab
TextBox2 keydown事件?我需要的是TextBox1获取焦点后,按Tab建切换到TextBox2,怎么又是TextBox2 keydown事件呢?
Nick_Ngai 2018-02-22
  • 打赏
  • 举报
回复
TextBox2 keydown事件中,判断e.key是否为Key.Tab
货郎大叔 2018-02-22
  • 打赏
  • 举报
回复
引用 1 楼 From_TaiWan 的回复:
只要TextBox1和TextBox2的tabindex属性是紧挨着的,按下tab,就自然过去了
TextBox1和TextBox2的tabindex属性就是设置的紧挨着的,但事与愿违
货郎大叔 2018-02-22
  • 打赏
  • 举报
回复
该怎么实现这个功能呢
秋的红果实 2018-02-21
  • 打赏
  • 举报
回复
只要TextBox1和TextBox2的tabindex属性是紧挨着的,按下tab,就自然过去了
秋的红果实 2018-02-21
  • 打赏
  • 举报
回复
或者写代码实现,焦点离开TextBox1时,触发事件,让焦点移到TextBox2

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧