显示时避免专注于主窗口

时间:2014-10-15 13:01:16

标签: c# wpf focus

我目前正在开发一个wpf中的弹出程序,该程序会被this.hide();MainWindow1.WindowState = WindowState.Hidden隐藏,而#34;弹出"使用MainWindow1.WindowState = WindowState.Normal;

我的问题是,我不希望Mainwindow获得任何键盘焦点。 因此无论程序具有键盘焦点,当弹出窗口显示时,它应该保留它。

我只是想这样,所以人们不会在不那么热闹的Popup中输入整个电子邮件,只是因为他们没有注意到它弹出来。

编辑: 我并没有试图将焦点放在任何我自己的程序窗口中,而是放在其他Windows程序中(例如Outlook)

EDIT2: 以下是我的计划中的a screenshot,只是为了清楚PopUp类的使用方面的晦涩感。

编辑3:也许可以将键盘焦点设置回以前关注的程序?

3 个答案:

答案 0 :(得分:0)

  

所以人们不要在

中输入整个电子邮件

我建议您在弹出窗口运行时将主页面控件或其容器Enabled属性设置为false,否则设置为反向。因此,将用户聚焦到弹出窗口直到其确认为止。

答案 1 :(得分:0)

如果您的目的是显示通知表单,请检查该组件:Windows Forms Toolkit NotificationForm

答案 2 :(得分:0)

解决方案(看起来)太容易了,您需要做的就是:

MainWindow1.Showactivated = false;
this.Show();

这将显示MainWindow,同时焦点保持在MainWindow出现之前焦点的任何程序上。