尝试按建议here覆盖CreateParams覆盖,但是,任务栏按钮在初始加载时不会出现。用户必须激活另一个窗口,然后在任务栏按钮出现之前重新激活目标窗口。
为什么会这样?你是如何解决这个问题的?
答案 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;
}
}