VB.net在表单中心绘制矩形

时间:2012-09-28 15:19:49

标签: vb.net winforms drawing

早上好社区

我想在表单的中心绘制一个矩形。另外,我想在这个矩形下画一些文字。

在文本中我认为我没有问题,我使用以下代码:

Dim sf As New StringFormat
        sf.LineAlignment = StringAlignment.Center
        sf.Alignment = StringAlignment.Center

        ' Line with the problem
        e.Graphics.FillRectangle(Brushes.Beige, CInt(Local_Form.Width / 2), CInt(Local_Form.Height / 2), 200, 100)

        e.Graphics.DrawString(Local_Text, _
                              New Font(MyCloud.Settings.Settings_Forms.Font.Name, 30), _
                              Brushes.GreenYellow, _
                              Local_Form.Width / 2, Local_Form.Height / 2, sf)

enter image description here

但是,我对矩形有问题。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:3)

两件事,第一件事是你将矩形的左上角设置在中心,你需要从你的上下左侧位置减去一半的宽度和一半的高度。此外,您应该使用ClientRectangle来获取没有Chrome的实际工作表面。

e.Graphics.FillRectangle(Brushes.Beige, CInt(Local_Form.ClientRectangle.Width / 2) - 100, CInt(Local_Form.ClientRectangle.Height / 2) - 50, 200, 100)