我希望将焦点从一个textbox1设置到另一个textbox2,而我在C#windows应用程序中按下文本框1中的ENTER键(c#2005)
答案 0 :(得分:1)
将此添加到您的表单
protected override void OnKeyDown(KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
Control NextControl = this.GetNextControl(this.ActiveControl, true);
while (!NextControl.TabStop || !NextControl.Enabled || !NextControl.Visible)
{
NextControl=this.GetNextControl(NextControl, true);
}
NextControl.Focus();
}
else
{
base.OnKeyDown(e);
}
}
答案 1 :(得分:0)
处理textbox1
的{{3}}或KeyPress
事件,然后致电textbox2.Focus()
。
答案 2 :(得分:0)
首先,您必须将表单的 KeyPreview 属性设置为 true 。然后,您将必须覆盖表单的OnKeyDown方法并创建一个类似的案例:
if(e.KeyCode == Keys.Enter)
{
Control ctlNext = this.GetNextControl(this.ActiveControl, true);
ctlNext.Focus();
}
else
{
base.OnKeyDown(e);
}
请注意,此代码适用于表单上的每个控件,并将焦点移至下一个控件。如果您只想让此代码适用于文本框,您可以添加如下的检查:
if(this.ActiveControl is TextBox)
{
...
}