如何将System.Drawing形状对象放置在winform的中心

时间:2019-04-04 23:18:24

标签: c# winforms

我只是试图在Windows窗体的中心绘制一个矩形,但是当我在窗体的中心坐标上绘制形状并进行平移以说明原点位于左上角时,它仍然不居中。代码:

namespace form_art
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            var g = e.Graphics;

            var rectangle = new Rectangle(250-100, 250-100, 200, 200);
            g.DrawRectangle(Pens.Aqua, rectangle);

        }
    }
}

窗体的尺寸为500 x 500像素。因此,我在x:250,y:250处绘制了矩形,然后减去了矩形的高度和宽度的一半,以说明原点的放置位置。 enter image description here

1 个答案:

答案 0 :(得分:0)

就像@41686d6564 所说的,如果您想在面板或表单的中间绘制形状,请使用ClientSize.WidthClientSize.Height。 一个例子是

formGraphics.DrawRectangle(MyPen, 
new Rectangle((this.ClientSize.Width/2)-(x/2), (this.ClientSize.Height/2)-(y/2), x, y));