C# 鼠标向下并离开时更改WinForms按钮样式

C# 鼠标向下并离开时更改WinForms按钮样式,c#,winforms,C#,Winforms,在按住鼠标并将光标从按钮上拖开时,如何更改按钮的样式,尤其是图像 您会注意到,在这个操作中,按钮的默认行为是将其样式还原为悬停样式。这可以使用MouseOverBackColor部分配置。我想确保,无论何时应用MouseOverBackColor,按钮上都有一个特定的图像 我尝试了下面的代码,以便在离开事件中选中“isMouseDown”标志。然而,这对我不起作用 private void btnFormMinimize_MouseClick(object sender, MouseEv

在按住鼠标并将光标从按钮上拖开时,如何更改按钮的样式,尤其是图像

您会注意到,在这个操作中,按钮的默认行为是将其样式还原为悬停样式。这可以使用MouseOverBackColor部分配置。我想确保,无论何时应用MouseOverBackColor,按钮上都有一个特定的图像

我尝试了下面的代码,以便在离开事件中选中“isMouseDown”标志。然而,这对我不起作用

    private void btnFormMinimize_MouseClick(object sender, MouseEventArgs e)
    {
        this.WindowState = FormWindowState.Minimized;
    }

    bool isMouseDown = false;
    private void btnFormMinimize_MouseDown(object sender, MouseEventArgs e)
    {
        Button b = (Button)sender;
        b.Image = Properties.Resources.icon_minimize_click;

        isMouseDown = true;
    }

    private void btnFormMinimize_MouseEnter(object sender, EventArgs e)
    {
        Button b = (Button)sender;
        b.Image = Properties.Resources.icon_minimize_hover;
    }

    private void btnFormMinimize_MouseLeave(object sender, EventArgs e)
    {
        Button b = (Button)sender;

        if (isMouseDown)
        {
            b.Image = Properties.Resources.icon_minimize_hover;
        }
        else
        {
            b.Image = Properties.Resources.icon_minimize;
        }
    }

    private void btnFormMinimize_MouseUp(object sender, MouseEventArgs e)
    {
        isMouseDown= false;
    }

提前感谢。

当用户在离开按钮后释放按钮时,会发生什么情况?按钮将返回正常状态和样式,即未单击且未悬停。