这两个结构表示一个矩形区域(通常在屏幕上)。与Point 和 Size一样,这里只介绍Rectangle结构,RectangleF与Rectangle基本相同,但它的属性类型是float类型,而Rectangle的属性类型是int类型。
Rectangle可以看作由一个Point 和一个 Size组成,其中Point表示矩形的左上角,Size表示其大小。它的一个构造函数把Point 和 Size作为其参数。下面重新编写前面DrawShapes示例的代码,绘制一个矩形:
Graphics dc = e.Graphics;
Pen bluePen = new Pen(Color.Blue, 3);
Point topLeft = new Point(0,0);
Size howBig = new Size(50,50);
Rectangle rectangleArea = new Rectangle(topLeft, howBig);
dc.DrawRectangle(bluePen, rectangleArea);
这段代码也使用Graphics.DrawRectangle()的另一个重载方法,它的参数是Pen和 Rectangle结构。
通过按顺序提供矩形的左上角水平和垂直坐标,宽度和高度(它们都是数字),可以构造一个Rectangle:
Rectangle rectangleArea = new Rectangle(0, 0, 50, 50);
Rectangle包含许多读写属性,如表20-3所示,可以用不同的属性组合来设置或提取它的维数。
表 20-3
属 性 | 说 明 |
int Left | 左边界的x坐标 |
int Right | 右边界的x坐标 |
int Top | 顶边的y坐标 |
int Bottom | 底边的y坐标 |
int X | 与 Left相同 |
int Y | 与Top相同 |
int Width | 矩形的宽度 |
int Height | 矩形的高度 |
Point Location | 左上角 |
Size Size | 矩形的大小 |
注意这些属性都不是独立的,例如,设置Width会影响Right的值。