纠结了好久,实在是找不出来解决办法,所以请教下大家。
问题是这样的:
我在panel面板上动态添加了几个button,当与button相关的一些值发生改变时,会触发button报警事件(就是在以button为中心,画个圆),可当我调试的时候发现当鼠标移动到那些button上时,那个圆颜色会变深,移出时也一样,好像是引发了panel的重绘事件,可我的报警程序就是在panel_paint中写的,请问大家有没办法解决这个问题?
先谢谢大家
问题是这样的:
我在panel面板上动态添加了几个button,当与button相关的一些值发生改变时,会触发button报警事件(就是在以button为中心,画个圆),可当我调试的时候发现当鼠标移动到那些button上时,那个圆颜色会变深,移出时也一样,好像是引发了panel的重绘事件,可我的报警程序就是在panel_paint中写的,请问大家有没办法解决这个问题?
先谢谢大家
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的重绘操作,谢谢
不过你可以在重绘事件中加判断,在鼠标移入时给个状态变量,重绘事件中可以用这个变量判断是否执行你这段代码