在我的c#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();
}
}
答案 0 :(得分:0)
你的第一个错误是使用Click
处理程序。不要使用CreateGraphics
。你绘制的任何东西都是不稳定的,不太可能发挥得很好。
当Click
事件触发时,您应该收集要绘制的点数。为表单的Paint
事件添加处理程序并在那里进行绘制。事件args将提供Graphics
对象供您使用。
计算矩形的单独方法也可能有助于将该工作保留在Paint
处理程序之外。