Winform - 将焦点设置到 TabControl 上用户控件内的文本框

Winform - SetFocus to textbox inside usercontrol on TabControl

Winform 应用程序 多个选项卡 在选项卡上复制了 Usercontrol

单击特定选项卡时,我想将焦点设置到用户控件中的文本框。如果可能的话,我想在 tabControl_SelectedIndexChanged 活动中这样做。

例如:

文本框名称 = txtOne
txtOne 位于 UserControlA
中 UserControlA 位于 tabControl.SelectedTab.Text = "Tab2"

当我点击 Tab2 时,我希望将 Focus 设置为 txtone。

我试过了:(还有很多其他的东西!) UserControlA.Controls["txtone"].SelectAll(); - returns 对象引用未设置为对象的实例

谢谢!

因为 txtone 不是 UserControlA 的直接子代,UserControlA.Controls["txtone"] 将 return 为空。

您可以使用控件名称 (UserControlA.Controls["fameFD"].Controls["txtone"]) 向下挖掘控件层次结构,也可以简单地将 txtone 公开为 public 字段或 属性 在您的用户控件中class。后者看起来像这样:

public TextBox TxtOne {
    get
    {
        return txtone;
    }
}

然后你可以像这样从外部代码引用文本框:

UserControlA.TxtOne.SelectAll();