绘制和删除旧图纸

时间:2012-04-21 05:56:21

标签: c# .net drawing

我是这个论坛的新手,我的英语并不完美,所以如果我的问题写得不好,我想原谅。

我正在用C#制作绘画程序,所有这些都是完美的期待一个问题。 当我绘制一条线,或矩形或椭圆时,当调用mouseMove事件时,也会绘制旧的形状。

如何使用mouseMove事件绘制形状,并且未绘制旧形状。

以下是我的代码的一部分,以便进一步澄清。

//---Variables declared by the Prgrammer---//
//'parent' is variable that take the MdiParent
//'mouseIsDown' is boolean variable
//'startPoint' and 'endPoint' are Point Varables
//'pen' is Pen variable that is configured eralier
//'graphic' is pictureBox in the same form.

private void pbx_MouseDown(object sender, MouseEventArgs e)
    {
        if (parent.btnLine.Checked)
        {
            mouseIsDown = true;
            startPoint = new Point(e.X, e.Y);
        }
    }

    private void pbx_MouseMove(object sender, MouseEventArgs e)
    {
        if (mouseIsDown == true && parent.btnLine.Checked)
        {
            pen = new Pen(parent.btnPreview.BackColor, 12);
            endPoint = new Point(e.X, e.Y);
            graphic.DrawLine(pen, startPoint, endPoint);
        }
    }

    private void pbx_MouseUp(object sender, MouseEventArgs e)
    {
        mouseIsDown = false;
    }

请帮帮我。这对我来说是个大问题。 感谢。


请帮助我,我等了2天。 当我为图形对象制作新图形时,旧图形将被删除。

我尝试使用graphic.Save()方法,但没有给出正确的结果。

当我制作另一幅图形时,如何使图纸变得柔和?

1 个答案:

答案 0 :(得分:0)

当您使用图片框时,可以使用Invalidate()方法。