How to set focus to a control in a Windows Forms application?

前端 未结 2 1470
臣服心动
臣服心动 2020-12-03 13:27

In a Windows Forms application, when do I write the code to set the focus to a control both while the application is launched and subsequently after I call

相关标签:
2条回答
  • 2020-12-03 13:51

    When the parent window is activated (that is, when it receives the "Activated" event), set the focus to the child control where you want the focus located.

    private void Form_AddAppID_Activated(object sender, EventArgs e)
    {
        textID.Focus();
    }
    

    Note that the tab order has nothing to do with where the focus starts. Instead, the tab order is used to decide how the focus gets transferred when the user hits the tab key.

    0 讨论(0)
  • 2020-12-03 13:55

    By far the simplest solution is to set the TabIndex property correctly so that your 'MyDropDownList' control has the lowest index. The next approach is to do it in the constructor. But you have to use Select(), the Focus() method cannot work yet because the control doesn't become visible until later.

    Public Sub New()
        InitializeComponent()
        MyDropDownList.Select()
    End Sub
    

    Works in the Load event as well. Focus() starts working in the Shown event.

    0 讨论(0)
提交回复
热议问题