C#绘图问题

本文关键字:问题 绘图 | 更新日期: 2023-09-27 18:20:05

我在屏幕上画矩形或其他东西时遇到了问题。在这段代码中,我希望在坐标x=0和y=屏幕的一半上画一个矩形,但它不在屏幕的中心。

谢谢!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private Graphics gr;
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            gr = this.CreateGraphics();
            Pen p = new Pen(new SolidBrush(Color.Black),1);
            gr.DrawRectangle(p, 0, this.Height / 2 - 50, 100, 100);
        }
    }
}

C#绘图问题

问题是

这个高度

返回带标题栏高度的窗体高度。要绘制一个具有下一个坐标的矩形:x=0,y=屏幕的一半,可以使用下一个代码:

    protected void Form1_Paint(object sender, PaintEventArgs e)
    {
       gr = this.CreateGraphics();
       Pen p = new Pen(new SolidBrush(Color.Black), 1);
       gr.DrawRectangle(p, 0, ClientRectangle.Height / 2 - 50, 100, 100);
    }