C#Windows窗体:最顶层的对话框没有聚焦

时间:2009-11-24 18:04:46

标签: c# modal-dialog setfocus

我的应用程序在启动时显示一个登录框,我已经能够将其设为最顶层,但是在我点击它之前它没有设置为焦点。

你如何做到这一点,它会自动聚焦?

1 个答案:

答案 0 :(得分:3)

您可以显式调用Activate(),例如在登录对话框的Load事件处理程序中。

或者,你可以通过调用ShowDialog()方法而不是Show()来模态地显示对话框 - 这会导致它被聚焦。

我怀疑发生了什么,但是在拥有窗口完全激活之前你正在显示对话框,并且主窗体正在窃取焦点。也许您正试图在主窗体的构造函数或Load事件处理程序中显示登录对话框?如果是这种情况,最好在显示主窗体之前修改引导加载程序(Program.cs)以显示登录对话框。

(如前所述,如果您想要更好的建议,请发布代码。)