带有实线边框的C#winforms按钮,如3d

如何创建带有实心边框(3d)的按钮,如下图C#winforms?

3D按钮

Panel BorderStyle可以设置为Fixed3D ,但BorderStyle按钮不能设置为Fixed3D

我也尝试过平面风格的FlatAppearance

您可以通过这种方式自定义Button控件具有厚3D边框:

  • 将Button FlatStyle设置为Flat
  • FlatApperanace设置为0
  • FlatApperanace中将MouseOverBackColor设置为ControlLight

然后处理Paint事件并使用ControlPaint.DrawBorder绘制一个粗三维边框:

 private void button1_Paint(object sender, PaintEventArgs e) { ControlPaint.DrawBorder(e.Graphics, button1.ClientRectangle, SystemColors.ControlLightLight, 5, ButtonBorderStyle.Outset, SystemColors.ControlLightLight, 5, ButtonBorderStyle.Outset, SystemColors.ControlLightLight, 5, ButtonBorderStyle.Outset, SystemColors.ControlLightLight, 5, ButtonBorderStyle.Outset); } 

这是结果:

在此处输入图像描述