如何在显示表单之前强制关注组件

时间:2013-03-15 08:45:12

标签: delphi focus setfocus

我必须使用许多TEdit显示(使用showModal)一个Form但是我想强制关注TEdit,但并不总是相同,具体取决于上下文。

我无法在ShowModal之前使用SetFocus(因为Form未激活)并且在我的应用程序中使用组件名称或标签不方便。 你有什么想法吗?

1 个答案:

答案 0 :(得分:19)

在我看来,实现目标的最简单方法是为表单分配ActiveControl属性。您可以在显示表单之前执行此操作。稍后显示表单时,VCL框架将确保ActiveControl被赋予输入焦点。

来自documentation

  

如果表单没有焦点,ActiveControl是表单上的控件,当表单获得焦点时,该控件将获得焦点。