WinForm绘制圆角的方法
本文实例讲述了WinForm绘制圆角的方法。分享给大家供大家参考。具体实现方法如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Runtime.InteropServices;
usingSystem.Drawing.Drawing2D;
namespaceAppStartSample
{
publicpartialclassForm3:Form
{
publicForm3()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
}
publicvoidSetWindowRegion()
{
System.Drawing.Drawing2D.GraphicsPathFormPath;
FormPath=newSystem.Drawing.Drawing2D.GraphicsPath();
Rectanglerect=newRectangle(0,22,this.Width,this.Height-22);//
FormPath=GetRoundedRectPath(rect,30);
this.Region=newRegion(FormPath);
}
privateGraphicsPathGetRoundedRectPath(Rectanglerect,intradius)
{
intdiameter=radius;
RectanglearcRect=newRectangle(rect.Location,newSize(diameter,diameter));
GraphicsPathpath=newGraphicsPath();
//左上角
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();
returnpath;
}
protectedoverridevoidOnResize(System.EventArgse)
{
this.Region=null;
SetWindowRegion();
}
}
}
希望本文所述对大家的C#程序设计有所帮助。