winform 窗体变成圆角

Posted 风云决

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform 窗体变成圆角相关的知识,希望对你有一定的参考价值。

public void SetWindowRegion()
{

System.Drawing.Drawing2D.GraphicsPath FormPath;

FormPath = new System.Drawing.Drawing2D.GraphicsPath();

Rectangle rect = new Rectangle(0, 22, this.Width, this.Height - 22);//this.Left-10,this.Top-10,this.Width-10,this.Height-10);

FormPath = GetRoundedRectPath(rect, 30);

this.Region = new Region(FormPath);

}

private GraphicsPath GetRoundedRectPath(Rectangle rect, int radius)
{

int diameter = radius;

Rectangle arcRect = new Rectangle(rect.Location, new Size(diameter, diameter));

GraphicsPath path = new GraphicsPath();

// 左上角

path.AddArc(arcRect, 180, 90);

// 右上角

arcRect.X = rect.Right - diameter;

path.AddArc(arcRect, 270, 90);

// 右下角

arcRect.Y = rect.Bottom - diameter;

path.AddArc(arcRect, 0, 90);

// 左下角

arcRect.X = rect.Left;

path.AddArc(arcRect, 90, 90);

path.CloseFigure();

return path;

}

protected override void OnResize(System.EventArgs e)
{

this.Region = null;

SetWindowRegion();

}

以上是关于winform 窗体变成圆角的主要内容,如果未能解决你的问题,请参考以下文章

Winform窗体圆角以及描边完美解决方案

WinForm 窗体圆角实现

Winform窗体圆角以及描边完美解决方案

winform form窗体边框颜色怎么设置?

winform设计窗体界面边框怎么设置

C# winform 父窗口子窗口按钮控制