窗体上有textbox 和 button 两个控件
现在我想用键盘上的方向键来实现textbox和botton焦点的转换
应该如何实现呢?

解决方案 »

  1.   


    这样?
         if (e.Key == Key.Left)
                {
                    button1.Focus();
                }
                if (e.Key == Key.Right)
                {
                    textBox1.Focus();
                }
      

  2.   

    设置form的KeyPreivew = true,然后在KeyPress事件中处理
    或者截获按键消息
      

  3.   


    不建议对TextBox使用方向键实现焦点的切换。因为TextBox本身方向键就是有移动功能的,在文本间移动,如果这个时候实现焦点切换,就要加入新的约束。我个人设想了一下,感觉怎样的约束都不能把文本移动和焦点切换完美融合。如果lz确实要用,建议在1/2楼实现方式的基础上再增加一个额外的键以示区分,比如使用“Ctrl(或者Shift等等)+方向键”实现焦点切换,而不是单一的方向键,这样可能会好一点。