由于Winform自带Form看起来比较丑,所以选择了隐藏Border,也就是设置窗体属性FormBorderStyle=FormBorderStyle.None。但是这样的无边框窗体点击任务栏图标无法最小化或还原。解决方法是重写CreateParams。
protected override CreateParams CreateParams
{
get
{
const int WS_MINIMIZEBOX = 0x00020000; // Winuser.h中定义
CreateParams cp = base.CreateParams;
cp.Style = cp.Style | WS_MINIMIZEBOX; // 允许最小化操作
return cp;
}
}
把上面的代码加到你的Form类中,即可实现无边框窗体点击任务栏图标正常最小化或还原窗体。