這兩個結構表示一個矩形區域(通常在屏幕上)。與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的值。