winforms 验证时的TextBox选项卡顺序

6jjcrrmo  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(162)

我有一个C# Windows窗体项目,有3个TextBox es(textbox1,textbox2和textbox3)。
下面是textBox1验证事件的代码:

private void textBox1_Validating(object sender, CancelEventArgs e)
{
    if (textBox1.Text.Trim() == "1")
        textBox2.Enabled = false;
    else
        textBox2.Enabled = true;
}

当textbox1值为1并按下“Tab”键textbox2禁用但光标仍然停留在textbox1上而不是聚焦到textbox3??
然后我将textbox1值更改为2,并再次按下“Tab”键textbox2启用,但光标聚焦到textbox3...??

e5nqia27

e5nqia271#

为了使光标静止到所需的按钮,必须使用focus函数在第一种情况下,必须调用以下函数(back Focus to textBox1)

textBox1.Focus();

对于第二种模式,您应该调用以下函数(back Focus to textBox3)

textBox3.Focus();

最终方法:

private void textBox1_Validating(object sender, System.ComponentModel.CancelEventArgs e)
        {
         
            if (!string.IsNullOrEmpty(textBox1.Text) && textBox1.Text.Trim() == "1")
            {
                textBox1.Focus();
                textBox2.Enabled = false;
            }

            if (!string.IsNullOrEmpty(textBox1.Text) && textBox1.Text.Trim() == "2")
            {
              
                textBox2.Enabled = true;
                textBox3.Focus();

            }
        }

相关问题