如何在C#窗体中通过用户选择四个坐标点绘制矩形,并在文本框中显示坐标点

本文关键字:坐标 绘制 显示 文本 四个 窗体 用户 选择 | 更新日期: 2023-09-27 18:00:05

在我的c#windows窗体应用程序中,我试图通过在windows窗体中的4个鼠标单击事件从用户那里获取坐标来绘制一个矩形,每个点一个。

以下是我迄今为止所做的尝试。

private void Form1_Click(object sender, EventArgs e)
{
    using (Graphics g = this.CreateGraphics())
    {
        Pen pen = new Pen(Color.Black, 2);
        Brush brush = new SolidBrush(this.BackColor);
        g.FillRectangle(brush, this.Bounds);  // redraws background
        g.DrawRectangle(pen,textBox1.Text,textBox2.Text,textBox3.Text,textBox4.Text);
        pen.Dispose();
        brush.Dispose();
    }
}    

如何在C#窗体中通过用户选择四个坐标点绘制矩形,并在文本框中显示坐标点

您的第一个错误是在Click处理程序中绘图。不要使用CreateGraphics。你画的任何东西都是不稳定的,不太可能打得好。

您应该做的是在Click事件触发时收集要绘制的点。为表单的Paint事件添加一个处理程序,然后在那里绘制。事件参数将提供一个Graphics对象供您使用。

计算矩形的单独方法也可能有助于将该运算排除在Paint处理程序之外。