多个picturebox 我设置了图片了,当其中一个被选中的时候会画一个框框,其他的picturebox 就要清除框框,现在的问题是怎么清除刚刚话的框框,好像事了很多都没用,求指教,谢谢。
g.Clear(Color.White);会把背景图片设置没了,
g.DrawImage()好像也没效果,框框还在
框框是怎么画上去的,执行相反的操作即可
PictureBox_Paint(object sender, PaintEventArgs e)
{
Pen mypen = new Pen(Color.Yellow, 10);
e.Graphics.DrawRectangle(mypen, e.ClipRectangle.X, e.ClipRectangle.Y, e.ClipRectangle.X + e.ClipRectangle.Width - 1, e.ClipRectangle.Y + e.ClipRectangle.Height - 1);
}
这样画的,相反???
@戴眼镜的乌龟:
清楚这种框框确实比较麻烦,ListBox+模板,你值得拥有
bool IsSelect{get;set;}
OnDraw()
{
if(IsSelect) TODO:...
else TODO:...
}
判断的逻辑我知道怎么处理,现在问题的关键是重画的代码
g.Clear(Color.White);会把背景图片设置没了,
g.DrawImage()好像也没效果,框框还在
我不太懂,还清说下,谢谢
一组,实际你还需要管理。比如你看到的ListBox等 —— 选中一项,另外的项需要恢复。这个很简单,当然你也可以粗暴的把所有IsSelect=false,然后选中的IsSelect=true;
@戴眼镜的乌龟: IsSelect实现 引发 重绘 ;而不是你所认为的Clear,这个Clear不是你所想的Clear