2

我使用绘画事件在图片框中绘制了矩形。当我单击清除按钮时。我希望图形消失。每次鼠标移动时我都会调用绘画事件。我应该怎么办?

油漆事件中的代码:

Graphics^ g = e->Graphics;
float PenWidth = 2;
if(msdwnflag!=-1 && count%2==1)
{
    if(selecflag==0)
    {
    g->DrawRectangle( gcnew Pen( Color::Blue,PenWidth ), RcDraw);
}
else
{
    RcDraw.Width = finalMousePos.X- RcDraw.X;
    RcDraw.Height = finalMousePos.Y- RcDraw.Y;
    g->DrawRectangle( gcnew Pen( Color::Red,PenWidth ), RcDraw);
}
}
4

2 回答 2

3

如果pb是您PictureBox则清除其图像以清除所有图形。此外,您可以使用变量 ( buttonpressed) 来检查它是真(按下按钮清除)还是假(否则)

     buttonpressed=1;
     pb->Image = nullptr;
     pb->Refresh();

如果未按下按钮,则在您的绘制方法中包括所有图形:

     if (buttonpressed != 1){
         // all your graphics code
     }

如果您希望在按下按钮时重新显示图形,请更改buttonpressed值:

    buttonpressed=0;
    pb->Refresh();
于 2012-05-31T08:04:22.693 回答
0

绘制透明颜色的图形。我终于做到了。不是 gud 设计,但可以工作:)

于 2012-06-06T06:19:22.667 回答