WFA任务栏在无边框时最小化

本文关键字:最小化 边框 任务栏 WFA | 更新日期: 2023-09-27 17:59:30

我有一个无边框的窗体窗口,带有自定义的关闭/最小化按钮=我有FormBorderStyle:无

这就是我的问题。使用此设置时,我无法通过任务栏中的图标最小化我的应用程序。

如果我切换到FormBorderStyle:Fixed3D,那里有原始的系统按钮,任务栏图标就会复活,并可以最小化应用程序。

通过任务栏图标恢复应用程序,没有问题。

那么,在FormBorderStyle:无时,是否可以通过任务栏图标最小化应用程序?

(在MS Visual Studio 2012中使用.NET 4.5,Windows窗体应用程序模板)

提前感谢

WFA任务栏在无边框时最小化

无边界窗口没有WS_MINIMIZEBOX窗口样式(因为当您将FormBorderStyle设置为None时,控制框会被删除),所以您必须通过重写CreateParams属性来自己添加它:

protected override CreateParams CreateParams {
    get {
        const int WS_MINIMIZEBOX = 0x00020000;
        var cp = base.CreateParams;
        cp.Style |= WS_MINIMIZEBOX;
        return cp;
    }
}