C#将焦点设置在文本框上

C#将焦点设置在文本框上,c#,textbox,focus,controls,C#,Textbox,Focus,Controls,我正在尝试将“txtMiles”文本框设置为在以下时间后聚焦: 表单打开 单击“清除”按钮时 我试过使用txtMiles.Focus()但它似乎对我不起作用 此表单上使用的代码 提前谢谢你的帮助 单击“清除”按钮后,您的txtMiles已聚焦。至于启动,在load方法中设置txtMiles.Focus() private void MilesToKilometers_Load(object sender, EventArgs e) { txtMiles.Focus(); } 您应该确

我正在尝试将“txtMiles”文本框设置为在以下时间后聚焦:

  • 表单打开
  • 单击“清除”按钮时
  • 我试过使用
    txtMiles.Focus()但它似乎对我不起作用

    此表单上使用的代码



    提前谢谢你的帮助

    单击“清除”按钮后,您的txtMiles已聚焦。至于启动,在load方法中设置txtMiles.Focus()

    private void MilesToKilometers_Load(object sender, EventArgs e)
    {
        txtMiles.Focus();
    }
    

    您应该确保设置了TabIndex,然后尝试使用
    Select()
    ,而不是
    Focus()
    。看这个


    还要确保视图文件中没有设置
    TabStop=true
    属性。

    它是旧的,但可能有人需要它

    Control.Focus()。如果不起作用,请尝试解决方法:

    this.SelectNextControl(_controlname, true, true, true, true);
    

    更改函数参数,使其与控件一起工作,并记住关于控件的TabStop=true属性。

    使用此解决方案非常有效


    txtMiles.Select()

    无需设置txtMiles.Focus();通过编程,仅在属性集Tabindex 1中,它将提供所需的输出
    txtMiles.Select();
    
    this.SelectNextControl(_controlname, true, true, true, true);