很简单的  class MyButton:control
{
    protected override void OnMouseEnter(EventArgs e)
        {
            Invalidate();
            
        }
    然后在ONPAINT里画背景
}然后把这个东西加入到一个Panel 上  可是每次MOUSEOVER都有闪烁啊 设置doublebuffer 不管用谢谢了

解决方案 »

  1.   

    Invalidate指定一个小区间会不会好一些
      

  2.   

    我也记住 DOCK 需要设置一下!
      

  3.   

    你这样Invalidate() 制造了不少麻烦..你先把内容绘制Image上..然后直接去显示这个Image 删除Invalidate() ;
      

  4.   

     我如果从Label 继承 就没有这种问题 肯定是什么地方有问题估计LABEL 也不会先画到IMAGE 上吧
      

  5.   


    因为Button这个控件吧,会有这样的问题在于……你hover的时候,控件会不断地去onenter!只有button有这个问题。你的invalidate事件在不断地被刷……当然在闪……不要尝试在button控件里面的mouse事件里面乱写东西。