一般来说,动态的改变按钮的图像,只需要对ButtonBase.Image重新设置就可以了(ButtonBase是Button的父类),ButtonBase会自己调用Control.Invalidate的。下面是我的代码:

public bool flag=false;
private void button1_Click(object sender, System.EventArgs e)
{
if(flag)
{
this.button1.Image=Image.FromFile(@"C:\Documents and Settings\ericzhen\Desktop\dby3_net_internet_120_60.gif");
}
else
{
this.button1.Image=Image.FromFile(@"C:\Documents and Settings\ericzhen\Desktop\PShot001.bmp");
}
flag=!flag;
} 里面用的图片dby3_net_internet_120_60.gif是一个普通的gif动画图片,就是CSDN页面上的图片。你可以试一试这段程序。
Hogwarts - S(u)ddenly dis@ppeared...

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。