在 C# windows 应用程序表单中按住它更改按钮设计

Changing button design while holding it in C# windows application form

我想设计一个按钮,当我按住它时,它会改变按钮的样式。就像当前的按钮样式是没有边框的正方形,但是当我用鼠标按住它时,它会将按钮的样式从正方形更改为圆形或 3d 正方形,但是当我离开该按钮时,它会变回我原来的样式

这是我试过的:

 private void btnfeeder2_MouseDown(object sender, MouseEventArgs e)
            {
                Button btnfeeder2 = sender as Button;
                if (btnfeeder2 != null)
                {
                btnfeeder2.FlatStyle = (btnfeeder2.FlatStyle == FlatStyle.Standard) ? FlatStyle.System : FlatStyle.Standard;
                }
            }

结果: 它确实改变了按钮的样式,但不是通过按住它而是通过按下它,即使我离开按钮它也会保持不变。我必须再次单击按钮才能返回到我原来的样式。

为了验证,我把默认的背景颜色改成了红色。


    private void btnfeeder2_MouseDown(object sender, MouseEventArgs e)
    {
        
            btnfeeder2.FlatStyle = (btnfeeder2.FlatStyle == FlatStyle.Standard) ? FlatStyle.System : FlatStyle.Standard;
            btnfeeder2.BackColor = Color.White;
      
    }
    
    private void btnfeeder2_MouseUp(object sender, MouseEventArgs e)
    {
      
            btnfeeder2.FlatStyle = FlatStyle.Flat;
            btnfeeder2.BackColor = Color.Red;
        
    }