我使用绘画事件在图片框中绘制了矩形。当我点击清除按钮。我希望图形消失。每次鼠标移动时我都会调用paint事件。我该怎么办?
油漆事件中的代码:
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);
}
}
答案 0 :(得分:3)
如果pb
是您的PictureBox
,请清除其图片以清除所有图片。此外,您可以使用变量(buttonpressed
)来检查它是否为真(按下按钮清除)或错误(否则)
buttonpressed=1;
pb->Image = nullptr;
pb->Refresh();
在你的paint方法中包括所有图形,如果不按下按钮:
if (buttonpressed != 1){
// all your graphics code
}
如果希望在按下按钮时显示图形,请更改buttonpressed
值:
buttonpressed=0;
pb->Refresh();
答案 1 :(得分:0)
绘制透明色的图形。这就是我最终做的。不是一个好的设计,但有效:)