解决方案 »

  1.   

    1. 在按钮的On_Paint或On_PaintBackground里, 根据按钮状态(假定有个变量来控制状态)绘制图片对应的部分
    2. 在不同的事件(不按  鼠标经过 鼠标按下 鼠标离开...)中, 更改按钮状态, 自刷新以触发Paint过程.
      

  2.   

    问题已解决,封贴。使用Bitmap实现从一张含有三种状态的图片中把三种不同的状态从程序中分别读出来即可。具体实现例子:
                Bitmap skinBitmap = new Bitmap(global::WinForm.Properties.Resources.Tab1);
                this.pbx4.Image = skinBitmap.Clone(new Rectangle(120, 0, 120, 43), PixelFormat.Format64bppPArgb);new Rectangle(120, 0, 120, 43),指定需要拷贝的图片的区域的X\Y坐标,长度和宽度。
    虽然没能解决问题,还是感谢各位!
      

  3.   

    ImageList貌似有个问题,图片颜色位数最高是32位。