您好我有一个C#winform应用程序,其中包含一些填充了许多文本框的特定表单。我想这样做,按下右箭头键,这样可以模仿与按Tab键相同的行为。我不确定该怎么做。
我根本不想改变Tab键的行为,只需在右侧箭头键上执行相同的操作即可。
有人可以提出任何建议吗?
答案 0 :(得分:2)
您应该覆盖表单中的OnKeyUp方法来执行此操作...
protected override void OnKeyUp(KeyEventArgs e)
{
if (e.KeyCode == Keys.Right)
{
Control activeControl = this.ActiveControl;
if(activeControl == null)
{
activeControl = this;
}
this.SelectNextControl(activeControl, true, true, true, true);
e.Handled = true;
}
base.OnKeyUp(e);
}
答案 1 :(得分:0)
我认为这将完成你所要求的:
private void form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Right)
{
Control activeControl = form1.ActiveControl;
// may need to check for null activeControl
form1.SelectNextControl(activeControl, true, true, true, true);
}
}
答案 2 :(得分:0)
您可以使用表单上的KeyDown事件来捕获键击,然后执行您想要的任何操作。例如:
private void MyForm_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Right)
{
this.SelectNextControl(....);
e.Handled = true;
}
}
不要忘记将表单上的KeyPreview属性设置为True。