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

the*_*yjo 6 c# button winforms

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

3D按钮

面板BorderStyle可以设置为Fixed3D,但按钮BorderStyle不能设置为Fixed3D.

我也尝试过FlatAppearance哪种是实用的扁平式.

Rez*_*aei 10

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

  • 将按钮FlatStyle设置为Flat
  • FlatApperanace设置BorderSize0
  • FlatApperanace设置MouseOverBackColorControlLight

然后处理Paint事件并使用ControlPaint.DrawBorder绘制一个厚的3D边框:

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);
}
Run Code Online (Sandbox Code Playgroud)

这是结果:

在此输入图像描述