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();
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();