Winform的Button控件的外观着实让人产生不了美感,虽然Button控件有BackColor,FlatStyle等属性但是仍然不能满足日常软件开发的需要。现在软件设计的美感要求越来越高。现在软件UI设计中有很多圆角的设计,在winform中实现圆角必须要自己绘制还是比较麻烦的,笔者实现了圆角矩形的自绘。
代码如下。
private void btnStopAnswer_Paint(object sender, PaintEventArgs e)
{
//放到button的Paint事件实现起来会更好
//结束作答按钮
this.btnStopAnswer.Text = string.Empty;
int rectWidth = 36, rectHeight = 36, sumWidth = 126, radius = 18;
GraphicsPath gp = new GraphicsPath();
Pen p = new Pen(new SolidBrush(bottomBackColor), 1);
Rectangle leftRectangle = new Rectangle(0, 0, rectWidth, rectHeight);
Rectangle rightRectangle = new Rectangle(sumWidth - rectWidth, 0, rectWidth, rectHeight);
//Graphics gbtn = this.btnStopAnswer.CreateGraphics(); 使用这种方式会出现显示不正常的现象。
Graphics gbtn = e.Graphic