c# - ClickOnce 和不活动的主窗口

标签 c# wpf winforms c#-4.0 clickonce

我的应用程序使用 ClickOnce 技术进行部署。但是,当用户开始使用该应用程序时,我遇到了问题。重现问题的场景如下:

  1. 用户点击应用程序的快捷方式以运行应用程序
  2. 出现 ClickOnce 的“启动应用程序”对话框以检查更新
  3. “启动应用程序”对话框消失
  4. 出现启动画面
  5. 主窗口(登录窗口)出现 - 但它未激活也没有焦点

因为主窗口未激活,用户必须先单击它才能开始输入用户名和密码。我怎样才能解决这个问题,使主窗口在出现后处于事件状态?我已经尝试了以下代码,但它不起作用:

protected override void OnInitialized(EventArgs e)
    {
       while (!this.IsFocused) { this.Focus(); WPFWaitForPriority.WaitForPriority(DispatcherPriority.Background); }
       base.OnInitialized(e);
    }

最佳答案

很可能您将焦点放在启动画面上。因此,当它关闭时,不再有任何焦点。关闭表单后,在您想要获得焦点的控件上调用 Select 方法(我猜是用户名文本框)。

Select for Focus

关于c# - ClickOnce 和不活动的主窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7008434/

相关文章:

.net - 如何在64位.NET应用程序中显示SVG文件?

c# - 如何将目录标记为 "in use"以使其无法删除或重命名?

c# - 如何在字典 C# 中编辑值数据

c# - 每当在 wpf 中滚动任何一个时,两个 ScrollViewer 的同步滚动

wpf - 如何在 WPF 中读取用户的自定义键盘快捷键?

c# - 我如何在日期时间选择器中设置当年第一个月的第一天

c# - 如何从不同的类写入 DataGridView

c# - C# 中的合并运算符?

c# - 等同于 PCL 库中的 System.Diagnostics.Trace

wpf - 如何通过样式设置 WPF 的 Grid.RowDefinitions