请教一个关于Panel控件重绘方面的问题

十月兔 2011-04-21 10:46:28
纠结了好久,实在是找不出来解决办法,所以请教下大家。
问题是这样的:
我在panel面板上动态添加了几个button,当与button相关的一些值发生改变时,会触发button报警事件(就是在以button为中心,画个圆),可当我调试的时候发现当鼠标移动到那些button上时,那个圆颜色会变深,移出时也一样,好像是引发了panel的重绘事件,可我的报警程序就是在panel_paint中写的,请问大家有没办法解决这个问题?
先谢谢大家
...全文
125 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
十月兔 2011-04-28
  • 打赏
  • 举报
回复
哎,弄了半天还是不行,最后换了种思路,让它的颜色闪烁变幻,定时刷新
lvfeng19806001 2011-04-21
  • 打赏
  • 举报
回复
这只是个思路,这个状态变量的赋值你看在哪合适就在变。。。
lvfeng19806001 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tianzhishuishui 的回复:]

我就是以button的中心点为圆心画了个实心圆
Graphics myGraphics = panel1.CreateGraphics();
Point center;
int r_x = 100, r_y = 100;
SolidBrush myBrush = new SolidBrush(Color.FromArgb(100, 150, 0, 0));

center = new……
[/Quote]
不触发不太好实现,就像你点 button按钮又不想触发button的Click事件一样;
不过你可以在重绘事件中加判断,在鼠标移入时给个状态变量,重绘事件中可以用这个变量判断是否执行你这段代码。。。
lulianqi 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tianzhishuishui 的回复:]

我就是以button的中心点为圆心画了个实心圆
Graphics myGraphics = panel1.CreateGraphics();
Point center;
int r_x = 100, r_y = 100;
SolidBrush myBrush = new SolidBrush(Color.FromArgb(100, 150, 0, 0));

center = new……
[/Quote]
在绘制的时候判断一下应该就可以了吧if(xx){~~~~~} 在button事件发生时 去确定xx的值 然后在绘制的时候判断 应该不难吧。
Just4life 2011-04-21
  • 打赏
  • 举报
回复
那就是你Panel里面画图的函数有问题
十月兔 2011-04-21
  • 打赏
  • 举报
回复
我就是以button的中心点为圆心画了个实心圆
Graphics myGraphics = panel1.CreateGraphics();
Point center;
int r_x = 100, r_y = 100;
SolidBrush myBrush = new SolidBrush(Color.FromArgb(100, 150, 0, 0));

center = new Point((int)(rdrBtn.Location.X - r_x / 2 + rdrBtn.Size.Width / 2),
(int)(rdrBtn.Location.Y - r_y / 2 + rdrBtn.Size.Height / 2));
myGraphics.FillEllipse(myBrush, center.X, center.Y, r_x, r_y);
但显示是应该没影响的啊
关系是这样的:button在panel上,我在panel上画图,画图的依据就是button是否处于报警状态,是的时候我就以button为圆心画个圆,画圆的操作时在panel_paint里面的。
问题是,我的鼠标移动到panel上的button上时,panel上所有我画的圆的颜色就会变深,因为触发了panel的重绘事件,我想问的就是有没有办法让鼠标移动到或移出button的时候不要引发panel的重绘操作,谢谢
Just4life 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
你想要什么效果,panel上画,不会影响button,你是不是画到button上了
[/Quote]


同样疑问
bdmh 2011-04-21
  • 打赏
  • 举报
回复
你想要什么效果,panel上画,不会影响button,你是不是画到button上了

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧