Wol*_*olf 12 .net c# focus winforms
我试图将"搜索"文本框控件集中在我的Windows窗体应用程序中.此文本框位于用户控件内,该控件位于窗体内的面板内(如果很重要).我尝试了3种可以找到的方法:
// 1
this.ActiveControl = myTextBox;
// 2
myTextBox.Focus();
// 3
myTextBox.Select();
Run Code Online (Sandbox Code Playgroud)
它们似乎都不起作用.我的意思是,例如当我尝试第一个时,主动控制实际上设置为myTextBox,但是当我尝试在键盘上写东西时,文本框不接受它,我必须先在文本框内单击以获得焦点.这与所有方法相同.我错过了什么吗?
Wol*_*olf 21
好的,终于找到了答案:
正如我所说,我的文本框位于用户控件内部,该控件位于表单内部的面板内.当我需要用户控件时,我将其添加到面板中.为了专注于我的文本框,我必须首先关注我的用户控件,如下所示:在我的顶部窗体中:
panel.Controls.Add(myUserControl);
myUserControl.Focus();
Run Code Online (Sandbox Code Playgroud)
然后在我的用户控件中:
myTextBox.Select();
Run Code Online (Sandbox Code Playgroud)
请注意,如果我使用:myTextBox.Focus()它将无法工作(不知道为什么).此外,如果我使用myUserControl.Select()而不是myUserControl.Focus()它也不会工作.
这似乎是唯一有效的组合.
归档时间: |
|
查看次数: |
28396 次 |
最近记录: |