首页 新闻 赞助 找找看

winform picturebox 清除画的框框

0
悬赏园豆:10 [待解决问题]

  多个picturebox 我设置了图片了,当其中一个被选中的时候会画一个框框,其他的picturebox 就要清除框框,现在的问题是怎么清除刚刚话的框框,好像事了很多都没用,求指教,谢谢。

 

g.Clear(Color.White);会把背景图片设置没了,

g.DrawImage()好像也没效果,框框还在

戴眼镜的乌龟的主页 戴眼镜的乌龟 | 初学一级 | 园豆:21
提问于:2017-01-04 11:20
< >
分享
所有回答(2)
0

框框是怎么画上去的,执行相反的操作即可

龙葛格 | 园豆:782 (小虾三级) | 2017-01-04 11:32

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);

 

}

这样画的,相反???

支持(0) 反对(0) 戴眼镜的乌龟 | 园豆:21 (初学一级) | 2017-01-04 11:37

@戴眼镜的乌龟:
清楚这种框框确实比较麻烦,ListBox+模板,你值得拥有

支持(0) 反对(0) 龙葛格 | 园豆:782 (小虾三级) | 2017-01-04 12:32
0

bool IsSelect{get;set;}

 

OnDraw()

{

  if(IsSelect) TODO:...

  else TODO:...

}

花飘水流兮 | 园豆:13560 (专家六级) | 2017-01-04 11:38

判断的逻辑我知道怎么处理,现在问题的关键是重画的代码

g.Clear(Color.White);会把背景图片设置没了,

g.DrawImage()好像也没效果,框框还在

我不太懂,还清说下,谢谢

支持(0) 反对(0) 戴眼镜的乌龟 | 园豆:21 (初学一级) | 2017-01-04 11:41

一组,实际你还需要管理。比如你看到的ListBox等 —— 选中一项,另外的项需要恢复。这个很简单,当然你也可以粗暴的把所有IsSelect=false,然后选中的IsSelect=true;

支持(0) 反对(0) 花飘水流兮 | 园豆:13560 (专家六级) | 2017-01-04 11:42

@戴眼镜的乌龟: IsSelect实现 引发 重绘 ;而不是你所认为的Clear,这个Clear不是你所想的Clear

支持(0) 反对(0) 花飘水流兮 | 园豆:13560 (专家六级) | 2017-01-04 11:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册