【问题标题】:Show new WinForms window unfocused显示未聚焦的新 WinForms 窗口
【发布时间】:2008-11-05 17:22:24
【问题描述】:

我正在生成并在主窗口顶部显示一个新的 WinForms 窗口。我怎样才能使原来的(主窗口)保持焦点?在显示新窗口后重新设置焦点并不能解决我的问题,因为我需要防止主窗口的标题栏闪烁。新窗口必须保持在主窗口的顶部,所以我必须设置 topMost=true。但是,这对我认为的问题没有影响。

谢谢!

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    在显示新表单后设置焦点可以正常工作。我的任务栏不闪烁。

    private void button1_Click(object sender, EventArgs e)
    {
         Form2 f2 = new Form2();
         f2.TopMost = true;
         f2.Show();
         this.Focus();            
    }
    

    请问您为什么要将焦点重新设置在主窗体上,因为默认情况下,新窗体将在主窗口顶部绘制,您必须关闭或移动新窗体才能查看主窗体窗口。

    【讨论】:

      【解决方案2】:

      如果您尝试实现类似于 Office 2007 中的“超级”工具提示的功能,则最好使用已经实现此功能的第三方库。另一种选择可能是将窗口创建为 NativeWindow 并使用互操作调用与之交互。

      【讨论】:

        猜你喜欢
        • 2011-12-13
        • 2011-06-05
        • 1970-01-01
        • 2016-12-07
        • 2018-08-13
        • 1970-01-01
        • 1970-01-01
        • 2020-01-17
        • 2014-03-06
        相关资源
        最近更新 更多