首页 > 编程 > C# > 正文

WinForm绘制圆角的方法

2020-01-24 01:31:12
字体:
来源:转载
供稿:网友

本文实例讲述了WinForm绘制圆角的方法。分享给大家供大家参考。具体实现方法如下:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;using System.Drawing.Drawing2D;namespace AppStartSample{ public partial class Form3 : Form {  public Form3()  {   InitializeComponent();  }  private void button1_Click(object sender, EventArgs e)  {  }  private void button2_Click(object sender, EventArgs e)  {  }  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);//   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 - 0;   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();  } }}

希望本文所述对大家的C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表