У меня есть проект WinForms, и я пытаюсь нарисовать прямоугольник в точке (0,0), в верхнем левом углу формы. По какой-то причине он обрезает один пиксель высоты и ширины прямоугольника. Вот код:
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawRectangle(new Pen(Color.Red, 5), new Rectangle(0, 0, 50, 50));
}
Вот результат, взорванный для наглядности:
Я понимаю, что я мог бы исправить это, нарисовав прямоугольник в (1,1), но это не так, как это должно работать на основе того, что я видел из элементов управления, которые расположены в (0,0) и (1, 1). Например, вот как выглядит панель (1,1), и она явно имеет разрыв в один пиксель:
Итак, мой вопрос: почему рисование прямоугольника в (0,0) не ведет себя как размещение элемента управления в (0,0)? Почему прямоугольник обрезается на один пиксель сверху и слева?