Книга: C# для профессионалов. Том II
Rectangle и RectangleF
Rectangle и RectangleF
Эти структуры предcтавляют прямоугольную область (обычно на экране). Так же, как и в случае с Point
и Size
, мы рассмотрим только структуру Rectangle
. RectangleF
по сути идентична, за исключением того, что свойства, представляющие размеры, используют float
, в то время как в Rectangle
использует int
.
Rectangle
можно рассматривать как точку в верхнем левом углу прямоугольника и Size
, которая представляет его размер. Один из его конструкторов действительно получает Point
и Size
в качестве параметров, Можно увидеть это переписывая предыдущий код рисования прямоугольника
Graphics dc = е 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
Свойство | Описание |
---|---|
int Left |
х-координата левого края |
int Right |
х-координата правого края |
int Top |
у-координата верхнего края |
int Bottom |
у-координата нижнего края |
int X |
То же самое что и Left |
int Y |
То же самое, что и Top |
int Width |
Ширина прямоугольника |
int Height |
Высота прямоугольника |
Point Location |
Верхний левый угол |
Size Size |
Размер прямоугольника |
Отметим, что эти свойства не все независимы,— например задание Width
будет влиять на значение Right
.