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

本文关键字:控件 文本 用户 焦点 设置 TabControl Winform- | 更新日期: 2023-09-27 17:59:55

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

单击某个特定选项卡时,我希望将焦点设置为用户控件中的一个文本框。如果可能的话,我希望在tabControl_SelectedIndexChanged事件中这样做。

例如:

text框名称=txt一个
txt一个位于UserControlA中
UserControlA位于tabControl中。选择选项卡。Text="Tab2"

当我单击选项卡2时,我希望将焦点设置为txtone。

我试过:(还有很多其他的事情!)用户控制A。控制["txtone"]。全选();-返回未设置为对象实例的对象引用

谢谢!

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

因为txtone不是UserControlA的直接子级,所以UserControlA.Controls["txtone"]将返回null。

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

public TextBox TxtOne {
    get
    {
        return txtone;
    }
}

然后你可以参考外部代码中的文本框,如下所示:

UserControlA.TxtOne.SelectAll();