资源描述:
《(C#)用户自定义控件-圆角Panel代码(WinForm)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、(C#)用户自定义控件-圆角Panel代码(WinForm)上一篇/下一篇2010-06-2414:48:28/个人分类:WinForm查看(397)/评论(0)/评分(0/0)(C#)用户自定义控件-圆角Panel代码(WinForm)圆角Panel代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Diagnostics;usingSystem.Linq;usingSystem.Text;namespac
2、emyControlLibrary{publicpartialclassRoundPanel:System.Windows.Forms.Panel{publicRoundPanel(){InitializeComponent();this.Padding=newSystem.Windows.Forms.Padding(0,0,0,0);this.Margin=newSystem.Windows.Forms.Padding(0,0,0,0);this.BackgroundImageLayout=System.Windows.F
3、orms.ImageLayout.Stretch;}//圆角//===============================================================================================privateint_Radius;//圆角弧度///圆角弧度(0为不要圆角)[Browsable(true)][Description("圆角弧度(0为不要圆角)")]publicint_setRoundRadius{get{retur
4、n_Radius;}set{if(value<0){_Radius=0;}else{_Radius=value;}base.Refresh();}}//圆角代码publicvoidRound(System.Drawing.Regionregion){//-----------------------------------------------------------------------------------------------//已经是.net提供给我们的最容易的改窗体的属性了(以前要自己调API)System
5、.Drawing.Drawing2D.GraphicsPathoPath=newSystem.Drawing.Drawing2D.GraphicsPath();intx=0;inty=0;intthisWidth=this.Width;intthisHeight=this.Height;intangle=_Radius;if(angle>0){System.Drawing.Graphicsg=CreateGraphics();oPath.AddArc(x,y,angle,angle,180,90);//左上角oPath.Ad
6、dArc(thisWidth-angle,y,angle,angle,270,90);//右上角oPath.AddArc(thisWidth-angle,thisHeight-angle,angle,angle,0,90);//右下角oPath.AddArc(x,thisHeight-angle,angle,angle,90,90);//左下角oPath.CloseAllFigures();Region=newSystem.Drawing.Region(oPath);}//--------------------------
7、---------------------------------------------------------------------else{oPath.AddLine(x+angle,y,thisWidth-angle,y);//顶端oPath.AddLine(thisWidth,y+angle,thisWidth,thisHeight-angle);//右边oPath.AddLine(thisWidth-angle,thisHeight,x+angle,thisHeight);//底边oPath.AddLine(x
8、,y+angle,x,thisHeight-angle);//左边oPath.CloseAllFigures();Region=newSystem.Drawing.Region(oPath);}}//=============================================