Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Winform-将焦点设置为TabControl上usercontrol内的文本框_C#_Winforms_User Controls_Focus - Fatal编程技术网

C# Winform-将焦点设置为TabControl上usercontrol内的文本框

C# Winform-将焦点设置为TabControl上usercontrol内的文本框,c#,winforms,user-controls,focus,C#,Winforms,User Controls,Focus,Winform应用程序 多选项卡 选项卡上是复制的Usercontrol 单击特定选项卡时,我希望将焦点设置为usercontrol中的文本框。如果可能的话,我想从tabControl\u SelectedIndexChanged事件中删除此选项 例: textbox name=txtOne txtOne驻留在UserControlA中 UserControlA位于tabControl.SelectedTab.Text=“Tab2”中 当我点击Tab2时,我希望焦点设置为txtone 我试过:(

Winform应用程序 多选项卡 选项卡上是复制的Usercontrol

单击特定选项卡时,我希望将焦点设置为usercontrol中的文本框。如果可能的话,我想从tabControl\u SelectedIndexChanged事件中删除此选项

例:

textbox name=txtOne
txtOne驻留在UserControlA中
UserControlA位于tabControl.SelectedTab.Text=“Tab2”中

当我点击Tab2时,我希望焦点设置为txtone

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


谢谢

因为
txtone
不是
UserControlA
的直接子项,
UserControlA.Controls[“txtone”]
将返回null

您可以使用控件名(
UserControlA.Controls[“fameFD”].Controls[“txtone”]
)深入控件层次结构,也可以在UserControl类中将
txtone
作为公共字段或属性公开。后者看起来像这样:

public TextBox TxtOne {
    get
    {
        return txtone;
    }
}
UserControlA.TxtOne.SelectAll();
然后您可以从外部代码中引用文本框,如下所示:

public TextBox TxtOne {
    get
    {
        return txtone;
    }
}
UserControlA.TxtOne.SelectAll();

如果可能,共享一些代码。
txtone
是UserControlA的直接子控件,还是在另一个控件(例如GroupBox、Panel等)中?txtone位于GroupBox框架内GroupBox名称是FameFD向用户控件添加公共FirstControl属性。返回txtOne。现在你不能再弄错了。好的,谢谢!让我试试属性方法。它有效!谢谢我是新来的-我如何将此标记为答案?看起来你找到了;)