您可以显式调用 Activate(),例如在登录对话框的 Load 事件处理程序中。
或者,您可以通过调用 ShowDialog() 方法而不是 Show() 以模态方式显示对话框 - 这应该会使其成为焦点。
我怀疑正在发生的事情是您在拥有窗口完全激活之前显示对话框,并且主窗体正在窃取焦点。也许您正试图在主窗体的构造函数或 Load 事件处理程序中显示登录对话框?如果是这种情况,您最好修改引导加载程序 (Program.cs) 以在显示主窗体之前显示登录对话框。
(如前所述,如果您需要更好的建议,请发布代码。)