C#学习教程:Winformsc#-将焦点设置到TabPage的第一个子控件加载表单时,我想专注于该文本框(默认情况下焦点设置为TabControl)。在表单的Load事件中简单地调用textbox1.focus()似乎不起作用。我已经能够通过以下方式专注于它:我的问题是:有没有更优雅的方法来做到这一点?解决方案如下:privatevoidfrmMainLoad(objectsender,EventArgse){ActiveControl=textBox1;然而,更好的问题是为什么......我不完全确定这个问题的答案是什么。编辑:我怀疑这与表单和TabControl都是容器这一事实有关,但我不确定。尝试将其放入Form_Shown()事件中。因为它在容器中,所以放入Form_Load甚至Form()构造函数都不起作用。尝试使用textbox1.Select()而不是textbox1.Focus()。这对我有几次帮助。您只需将控件的Control.Select()添加到此代码中。当出现错误时,我用它来专注于验证期间的控制。privatevoidShowControlTab(ControlControlToShow){if(!TabSelected){if(ControlToShow.Parent!=null){if(ControlToShow.Parent.GetType()==typeof(TabPage)){TabPageTab=(TabPage)ControlToShow.Parent;如果(WOTabs.TabPages.Contains(Tab)){WOTabs.SelectedTab=Tab;TabSelected=true;返回;}}ShowControlTab(ControlToShow.Parent);我在另一个用户控件中有一个用户控件。textbox1.Select()对我有用,但textbox1.Focus()不起作用。您也可以尝试将Tabstop设置为false,将textbox1.Focus(),TabStop设置为true。privatevoidChildForm1_Load(objectsender,EventArgse){ActiveControl=txt_fname;}我用这段代码在wintabcontrolordotnetbarsupertabcontrol上都很好用上面是C#学习教程:Winformsc#-setfocustotabpageofTabPage一个子控件共享的所有内容,如果对大家有用需要想了解更多C#学习教程,希望大家多加关注-本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
