C#中上下左右键切换控件焦点解决办法
C#中上下左右键切换控件焦点
寻用上下左右键切换控件焦点的方法,winform里面有textbox combobox radiobutton等其他控件
------解决方案--------------------
不建议把左右都用来切换焦点,否则你在textbox 里面改变光标所在字符位置就做不到了。
寻用上下左右键切换控件焦点的方法,winform里面有textbox combobox radiobutton等其他控件
------解决方案--------------------
不建议把左右都用来切换焦点,否则你在textbox 里面改变光标所在字符位置就做不到了。
- C# code
private void textbox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Down || e.KeyCode == Keys.Enter) { e.SuppressKeyPress = true; System.Windows.Forms.SendKeys.Send("{Tab}"); } if (e.KeyCode == Keys.Up) { e.SuppressKeyPress = true; System.Windows.Forms.SendKeys.Send("+{Tab}"); } }
------解决方案--------------------
还是有简便的方法的。
仅需在母窗体类上加入:
- C# code
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { Keys key = (keyData & Keys.KeyCode); if (key == Keys.Down) { SendKeys.Send("{Tab}"); return true; } return base.ProcessCmdKey(ref msg, keyData); }