第12章-C#高级编程网络应用开发综合实例习题解答.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
C#高级编程网络应用开发综合实例习题解答 本节资源主要关注C#高级编程网络应用开发综合实例习题解答,涵盖了多机联合绘图系统的设计与实现,包括绘制三角形、六边形、带箭头曲线、封闭曲线等图形的实现。 C#高级编程网络应用开发是指使用C#语言开发网络应用程序的高级技术,包括使用C#语言实现网络通信、数据存储、安全认证等功能。本节资源主要关注C#高级编程网络应用开发中的绘图技术,包括使用Panel控件、Graphics类、Pen类等实现各种图形的绘制。 1. 多机联合绘图系统中为什么不使用Panel作为画板? 在多机联合绘图系统中,不使用Panel作为画板的原因是因为Panel控件在绘制图形图像时会出现闪烁现象。为了避免这种情况,可以单独设计一个用户控件用作画板,并设置该用户控件的DoubleBuffered属性值为true,以启用双缓冲,从而避免出现闪烁现象。 2. 实现任意大小三角形和六边形的绘制。 为了实现任意大小三角形和六边形的绘制,可以添加一个新类DrawPloygon,使其从TrackRectangle继承,重写TrackRectangle类中的Draw方法实现椭圆的绘制。DrawPloygon类的代码如下所示: ```csharp 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 Draw(Graphics g) { using (Pen pen = new Pen(this.penColor)) { int x = this.objRectangle.X; int y = this.objRectangle.Y; //三角形的三个顶点 Point[] points = new Point[3]; points[0] = new Point((2 * x + this.objRectangle.Width) / 2, y); points[1] = new Point(x, y + this.objRectangle.Height); points[2] = new Point(x + this.objRectangle.Width, y + this.objRectangle.Height); g.DrawPolygon(pen, points); } } } ``` 如果要实现六边形的绘制,只需要修改Draw方法即可。具体代码如下所示: ```csharp 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 Point[6]; points[0] = new Point((2 * x + this.objRectangle.Width) / 4, y); points[1] = new Point(x, (2 * y + this.objRectangle.Height) / 2); points[2] = new Point((2 * x + this.objRectangle.Width) / 4, y + this.objRectangle.Height); points[3] = new Point((2 * x + this.objRectangle.Width) * 3 / 4, y + this.objRectangle.Height); points[4] = new Point(x + this.objRectangle.Width, (2 * y + this.objRectangle.Height) / 2); points[5] = new Point((2 * x + this.objRectangle.Width) / 4, y); g.DrawPolygon(pen, points); } } ``` 3. 实现带箭头曲线、封闭曲线的绘制。 要实现带箭头曲线、封闭曲线的绘制,可以使用Graphics类的DrawCurve方法和DrawClosedCurve方法。具体代码如下所示: ```csharp 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 Point[10]; points[0] = new Point(x, y); points[1] = new Point(x + this.objRectangle.Width / 2, y); points[2] = new Point(x + this.objRectangle.Width, y); points[3] = new Point(x + this.objRectangle.Width, y + this.objRectangle.Height / 2); points[4] = new Point(x + this.objRectangle.Width, y + this.objRectangle.Height); points[5] = new Point(x, y + this.objRectangle.Height); points[6] = new Point(x, y + this.objRectangle.Height / 2); points[7] = new Point(x, y); points[8] = new Point(x + this.objRectangle.Width / 2, y); points[9] = new Point(x, y); g.DrawCurve(pen, points); } } ``` 本节资源主要关注C#高级编程网络应用开发中的绘图技术,包括使用Panel控件、Graphics类、Pen类等实现各种图形的绘制。同时,本节资源还提供了多机联合绘图系统的设计与实现,包括绘制三角形、六边形、带箭头曲线、封闭曲线等图形的实现。
- 粉丝: 17
- 资源: 26万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助