C#窗体圆角设置

xiaoxiao2025-05-16  26

private void User_Load_1(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Normal) { SetWindowRegion(); } else { this.Region = null; } } public void SetWindowRegion() { System.Drawing.Drawing2D.GraphicsPath FormPath; FormPath = new System.Drawing.Drawing2D.GraphicsPath(); Rectangle rect = new Rectangle(0, 0, this.Width, this.Height); FormPath = GetRoundedRectPath(rect, 10); this.Region = new Region(FormPath); } /// <summary> /// /// </summary> /// <param name="rect">窗体大小</param> /// <param name="radius">圆角大小</param> /// <returns></returns> private GraphicsPath GetRoundedRectPath(Rectangle rect, int radius) { int diameter = 20; 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; }
转载请注明原文地址: https://www.6miu.com/read-5030181.html
最新回复(0)