繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> 一个画任意形状的窗体的例子

一个画任意形状的窗体的例子

2007-03-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:继承System.Windows.Forms.Form窗体类时,重载其画窗体形状的事件OnPaint,就可以画出各种自定义的窗体形状。例子代码是画一个圆形窗体。 protected override void OnPaint(PaintEventArgs e) { GraphicsPath gp ...

继承System.Windows.Forms.Form窗体类时,重载其画窗体形状的事件OnPaint,就可以画出各种自定义的窗体形状。例子代码是画一个圆形窗体。

protected override void OnPaint(PaintEventArgs e)

{

GraphicsPath gp = new GraphicsPath();

gp.AddEllipse(20,20,110,110);

//gp.AddLine(30,30,110,110);

Matrix RotationTransform = new Matrix(1,0, 0,1,1,1); // rotation matrix

//Matrix TranslationTransform = new Matrix(1, 0, 0, 1, 0, 0); // translation matrix

PointF TheRotationPoint = new PointF(110.0f, 110.0f); // rotation point

// rotate the rotation transformation matrix f degrees around TheRotationPoint

RotationTransform.RotateAt(f, TheRotationPoint);

//Call the Transform method of the Graphics Path in order to multiply it by the rotation matrix and rotate the balloon

gp.Transform(RotationTransform);

e.Graphics.DrawPath(Pens.Black, gp);

f=f+10;

this.Region=new Region(gp);//这句是很重要的,设定窗体显示的区域为你所画的区域。

}

责任编辑:admin
相关文章