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#程序设计有所帮助。