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

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

ID:50318483

大小:48.50 KB

页数:3页

时间:2020-03-08

C#网络应用编程 第2版 习题答案作者 马骏 第12章 网络应用开发综合实例习题解答.doc_第1页
C#网络应用编程 第2版 习题答案作者 马骏 第12章 网络应用开发综合实例习题解答.doc_第2页
C#网络应用编程 第2版 习题答案作者 马骏 第12章 网络应用开发综合实例习题解答.doc_第3页
资源描述:

《C#网络应用编程 第2版 习题答案作者 马骏 第12章 网络应用开发综合实例习题解答.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

2、Draw方法实现椭圆的绘制。classDrawPloygon:TrackRectangle{publicRectangleobjRectangle;//绘制的多边形外接矩形publicDrawPloygon(){}publicDrawPloygon(intx,inty,intwidth,intheight,ColorpenColor,intid){this.objRectangle=newRectangle(x,y,width,height);this.penColor=penColor;this.ID=id;}publicoverridevoidDraw(Graph

3、icsg)//重写基类的方法{using(Penpen=newPen(this.penColor)){intx=this.objRectangle.X;inty=this.objRectangle.Y;//三角形的三个顶点Point[]points=newPoint[3];points[0]=newPoint((2*x+this.objRectangle.Width)/2,y);points[1]=newPoint(x,y+this.objRectangle.Height);points[2]=newPoint(x+this.objRectangle.Width,y+

4、this.objRectangle.Height);g.DrawPolygon(pen,points);}}}3第12章网络应用开发综合实例若要实现六边形的绘制,只需要修改Draw方法即可。具体代码如下:publicoverridevoidDraw(Graphicsg){using(Penpen=newPen(this.penColor)){intx=this.objRectangle.X;inty=this.objRectangle.Y;//其余六个顶点Point[]points=newPoint[6];points[0]=newPoint((2*x+this.ob

5、jRectangle.Width)/4,y);points[1]=newPoint(x,(2*y+this.objRectangle.Height)/2);points[2]=newPoint((2*x+this.objRectangle.Width)/4,y+this.objRectangle.Height);points[3]=newPoint((2*x+this.objRectangle.Width)*3/4,y+this.objRectangle.Height);points[4]=newPoint(x+this.objRectangle.Width,(2*y

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

7、pointList.Count];pointList.CopyTo(pts);Penpen=newPen(penColor,penWidth);g.SmoothingMode=SmoothingMode.AntiAlias;AdjustableArrowCapmyArrow=newAdjustableArrowCap(4,4,true);pen.CustomEndCap=myArrow;if(pts.Length<3){if(pts.Length>1){g.DrawLine(pen,pts[0],pts[1]);}}else{3第12章网络应用开发综

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。