C # рисунок, круг выходит за пределы формы - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь нарисовать круг в моей форме.Но мне странно, что я устанавливаю ширину и высоту формы на фиксированное число, я делаю то же самое для круга, но фигура круга выходит за пределы формы.

private void Form3_Paint(object sender, PaintEventArgs e)
{        
    this.SuspendLayout();

    gr = this.CreateGraphics();
    gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

    Brush fill_circ3 = Brushes.Blue;

    Pen ellipse_pen = new Pen(Color.Blue);            
    ellipse_pen.Width = (float)2.0;

    this.Width = this.Height = 400;
    Rectangle rect = new Rectangle(0, 0, this.Width, this.Height);
    gr.DrawEllipse(ellipse_pen, rect);

    this.ResumeLayout();
}

3-й и 4-й параметры конструктора Rectangle определяют размер по ширине и высоте круга.

См. Круг, который я получил

enter image description here

Почему круг выходит за пределы формы ???!Я установил одинаковые размеры формы и круга !!!

1 Ответ

0 голосов
/ 11 декабря 2018

Это потому, что вы используете размер окна, а не размер "клиента" .Просто замените ваш код следующим образом:

gr.DrawEllipse(ellipse_pen, this.ClientRectangle);

Клиентская область элемента управления - это границы элемента управления, за исключением неклиентских элементов, таких как полосы прокрутки, границы, строки заголовка и меню.

...