可以改变圆角颜色和边框颜色
时间: 2023-09-20 12:12:40 浏览: 69
可以设置边框颜色的编辑框
3星 · 编辑精心推荐
对于自定义的GraphicsPath类中AddRoundRectangle方法的圆角大小的调整,可以使用以下代码:
```csharp
public void AddRoundRectangle(RectangleF rect, float radius)
{
float diameter = radius * 2;
SizeF sizeF = new SizeF(diameter, diameter);
RectangleF arc = new RectangleF(rect.Location, sizeF);
GraphicsPath path = new GraphicsPath();
if (radius <= 0)
{
path.AddRectangle(rect);
return;
}
// top left arc
path.AddArc(arc, 180, 90);
// top right arc
arc.X = rect.Right - diameter;
path.AddArc(arc, 270, 90);
// bottom right arc
arc.Y = rect.Bottom - diameter;
path.AddArc(arc, 0, 90);
// bottom left arc
arc.X = rect.Left;
path.AddArc(arc, 90, 90);
path.CloseFigure();
_graphicsPath = path;
_rectangle = rect;
_radius = radius;
}
```
如果你想改变圆角颜色和边框颜色,可以在绘制时进行设置:
```csharp
using (Pen pen = new Pen(Color.Red) { Width = 2 })
{
using (SolidBrush brush = new SolidBrush(Color.Blue))
{
graphics.DrawPath(pen, path);
graphics.FillPath(brush, path);
}
}
```
在上面的代码中,我们使用了Pen类来设置边框的颜色和大小,使用SolidBrush类来设置填充颜色。你可以根据需要进行调整。
阅读全文