gpt4 book ai didi

c# - 如何强制将焦点放在 Windows 窗体中的控件上

转载 作者:可可西里 更新时间:2023-11-01 08:19:42 25 4
gpt4 key购买 nike

我试图在我的 Windows 窗体应用程序中聚焦“搜索”文本框控件。此文本框位于用户控件内,该控件位于 Windows 窗体内的面板内(如果它很重要)。我尝试了 3 种我能找到的方法:

// 1
this.ActiveControl = myTextBox;

// 2
myTextBox.Focus();

// 3
myTextBox.Select();

它们似乎都不起作用。我的意思是,例如,当我尝试第一个时,事件控件实际上设置为 myTextBox,但是当我尝试在键盘上写东西时,文本框不接受它,我必须先在文本框内单击以获得焦点。这与所有方法相同。我错过了什么吗?

最佳答案

好的,终于找到答案了:

正如我所说,我的文本框位于用户控件内,它位于表单内的面板内。当我需要我的用户控件时,我将它添加到面板。要关注我的文本框,我必须首先关注我的用户控件,如下所示:在我的顶级表格中:

panel.Controls.Add(myUserControl);
myUserControl.Focus();

然后在我的用户控件中:

myTextBox.Select();

请注意,如果我使用:myTextBox.Focus(),它将不起作用(不知道为什么)。此外,如果我使用 myUserControl.Select() 而不是 myUserControl.Focus(),它也不会起作用。

这似乎是唯一有效的组合。

关于c# - 如何强制将焦点放在 Windows 窗体中的控件上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16920786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com