C#网络应用编程 第2版 习题答案作者 马骏 第12章 网络应用开发综合实例习题解答

上传人:w****i 文档编号:94398258 上传时间:2019-08-06 格式:DOC 页数:3 大小:48.50KB
返回 下载 相关 举报
C#网络应用编程 第2版 习题答案作者 马骏 第12章 网络应用开发综合实例习题解答_第1页
第1页 / 共3页
C#网络应用编程 第2版 习题答案作者 马骏 第12章 网络应用开发综合实例习题解答_第2页
第2页 / 共3页
C#网络应用编程 第2版 习题答案作者 马骏 第12章 网络应用开发综合实例习题解答_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《C#网络应用编程 第2版 习题答案作者 马骏 第12章 网络应用开发综合实例习题解答》由会员分享,可在线阅读,更多相关《C#网络应用编程 第2版 习题答案作者 马骏 第12章 网络应用开发综合实例习题解答(3页珍藏版)》请在金锄头文库上搜索。

1、第12章 网络应用开发综合实例习题12 参考解答1多机联合绘图系统中为何不使用Panel作为画板?【解答】 如果使用Panel作为画板,在绘制图形图像时会出现闪烁现象。因此单独设计一个用户控件用作画板,通过设置该用户控件的【DoubleBuffered】属性值为true来启用双缓冲,从而避免出现闪烁现象。2读懂多机联合绘图系统的源程序,在此基础上进行功能扩展。1)实现任意大小三角形和六边形的绘制。2)实现任意形状的带箭头曲线、封闭曲线的绘制。【解答】1)在项目中添加一个新类DrawPloygon使其从TrackRectangle继承,重写TrackRectangle类中Draw方法实现椭圆的绘

2、制。class DrawPloygon: TrackRectangle public Rectangle objRectangle;/绘制的多边形外接矩形 public DrawPloygon () public DrawPloygon (int x, int y, int width, int height, Color penColor,int id) this.objRectangle = new Rectangle(x, y, width, height); this.penColor = penColor; this.ID = id; public override void Dra

3、w(Graphics g) /重写基类的方法 using (Pen pen = new Pen(this.penColor) int x = this.objRectangle.X; int y = this.objRectangle.Y; /三角形的三个顶点 Point points = new Point3; points0 = new Point(2 * x + this.objRectangle.Width) / 2, y); points1 = new Point(x, y+this.objRectangle.Height); points2 = new Point(x+this.o

4、bjRectangle.Width, y+this.objRectangle.Height); g.DrawPolygon(pen,points); 若要实现六边形的绘制,只需要修改Draw方法即可。具体代码如下:public override void Draw(Graphics g) using (Pen pen = new Pen(this.penColor) int x = this.objRectangle.X; int y = this.objRectangle.Y; /其余六个顶点 Point points = new Point6; points0 = new Point(2

5、* x + this.objRectangle.Width) / 4, y); points1 = new Point(x, (2*y + this.objRectangle.Height)/2); points2 = new Point(2 * x + this.objRectangle.Width) / 4,y+this.objRectangle.Height); points3 = new Point(2 * x + this.objRectangle.Width) *3/ 4, y + this.objRectangle.Height); points4 = new Point(x+t

6、his.objRectangle.Width, (2*y+this.objRectangle.Height)/2); points5 = new Point(2 * x + this.objRectangle.Width) * 3 / 4, y); g.DrawPolygon(pen, points); 2)实现任意形状的带箭头的曲线、封闭曲线的绘制。从TrackCurve类派生子类DrawArrowCurve、DrawClosedCurve类,分别重写Draw方法。对于带箭头的曲线DrawArrowCurve类的Draw方法的定义如下:public override void Draw(Gr

7、aphics g) Point pts = new PointpointList.Count; pointList.CopyTo(pts); Pen pen = new Pen(penColor, penWidth); g.SmoothingMode = SmoothingMode.AntiAlias; AdjustableArrowCap myArrow = new AdjustableArrowCap(4, 4, true); pen.CustomEndCap = myArrow; if (pts.Length 1) g.DrawLine(pen, pts0, pts1); else g.

8、DrawCurve(pen, pts); pen.Dispose(); 对于绘制封闭的曲线来说,设计类DrawClosedCurve其中Draw方法定义如下:public override void Draw(Graphics g) Point pts = new PointpointList.Count; pointList.CopyTo(pts); Pen pen = new Pen(penColor, penWidth); g.SmoothingMode = SmoothingMode.AntiAlias; AdjustableArrowCap myArrow = new AdjustableArrowCap(4, 4, true); pen.CustomEndCap = myArrow; if (pts.Length 1) g.DrawLine(pen, pts0, pts1); else g.DrawClosedCurve(pen, pts); pen.Dispose(); 3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号