可调整大小的窗口w /任务栏按钮但没有标题栏

时间:2010-02-02 09:24:28

标签: c# winforms

尝试按建议here覆盖CreateParams覆盖,但是,任务栏按钮在初始加载时不会出现。用户必须激活另一个窗口,然后在任务栏按钮出现之前重新激活目标窗口。

为什么会这样?你是如何解决这个问题的?

1 个答案:

答案 0 :(得分:2)

尝试将WS_EX_APPWINDOW标志添加到CreateParams的ExStyle属性。

Windows正在尝试通过查看标题和其他样式来猜测您的窗口是否应该有任务栏按钮。 WS_EX_APPWINDOW使其显而易见,因此Windows无需猜测。

WS_EX_TOOLWINDOW明确表示您不应该有任务栏按钮。

编辑:像这样

protected override CreateParams CreateParams
{
    get
    {
        CreateParams cp = base.CreateParams;
        cp.ExStyle |= 0x0040000;   // add WS_EX_APPWINDOW 
        cp.Style   &= ~0x00C00000;  // remove WS_CAPTION
        return cp;
    }
}