2009-11-24 74 views
0

我的应用程序在启动时显示一个登录框,我已经能够使它成为最顶层的,但它没有被设置为专注,直到我点击它。C#Windows窗体:最上面的对话框没有关注

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

+0

您可以发布您的代码,您正在使用,以显示登录表单? – TLiebe 2009-11-24 18:07:07

回答

3

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

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

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

(正如已经建议,如果你想有一个更好的建议职位的代码。)

+1

与ShowDialog一起使用登录表单。 – scottm 2009-11-24 18:09:43