软件编程
位置:首页>> 软件编程>> C#编程>> WinForm绘制圆角的方法

WinForm绘制圆角的方法

作者:我心依旧  发布时间:2023-06-21 14:23:51 

标签:WinForm,绘制,圆角

本文实例讲述了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#程序设计有所帮助。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com