C# 上下左右键 切换控件焦点

来源:百度知道 编辑:UC知道 时间:2024/06/10 17:40:33
form里面有textbox combobox listbox
寻求用上下左右键切换控件焦点的方法
C#
有没有通过坐标寻找控件的方法?

把下面这段代码写在窗体的KeyPress事件里,并且将窗体的KeyPreview属性置为True
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)(Keys.Down))
{
this.SelectNextControl(this.ActiveControl, true, false, false, true);

}
if (e.KeyChar == (char)(Keys.Up))
{
this.SelectNextControl(this.ActiveControl, false, false, false, true);
}
}
遇到textbox等输入控件,需要把对应的keypress事件指向窗口的keypress事件

在键盘事件中捕捉上下左右键,注意设置窗体KeyPreview

添加一个2维Array,将画面控件按位置添加进去

通过上下左右键加减2维坐标

((Control)array[2,1]).SetFocus()

通过坐标寻找控件
Form.GetChildAtPoint(new Point(10, 10));

KeyDown事件里去判断