如何从任务栏最小化和最大化winform



我有一个Winforms应用程序,我可以通过单击窗口右上角的相应按钮来最小化它;然后我可以通过点击这个应用程序的任务栏图标来最大化它。

我的问题是,如果窗口被最大化,当我再次单击任务栏图标时,它应该被最小化,但目前没有发生这种情况。

我如何才能使这种行为发生我不想使用NotifyIcon或系统托盘。

const int WS_MINIMIZEBOX = 0x20000;
const int CS_DBLCLKS = 0x8;
protected override CreateParams CreateParams
{
    get
    {
        CreateParams cp = base.CreateParams;
        cp.Style |= WS_MINIMIZEBOX;
        cp.ClassStyle |= CS_DBLCLKS;
        return cp;
    }
}

你也可以在没有边界的情况下完成。。需要额外的编码

尝试检查LocationChangedMoveRegionChangedResizeResizeBeginResizeEndSizeChanged事件中发生了什么。可能是这些事件中的某些代码正在阻止您所描述的行为。

我没有在新的空表单上看到所描述的问题。

更新:我使用的是Window 7 Pro。

最新更新