如何在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();
}
}
您的第一个错误是在Click
处理程序中绘图。不要使用CreateGraphics
。你画的任何东西都是不稳定的,不太可能打得好。
您应该做的是在Click
事件触发时收集要绘制的点。为表单的Paint
事件添加一个处理程序,然后在那里绘制。事件参数将提供一个Graphics
对象供您使用。
计算矩形的单独方法也可能有助于将该运算排除在Paint
处理程序之外。