C#中的循环按钮背景图像

时间:2020-03-05 18:40:29  来源:igfitidea点击:

我在C中有一个带有按钮的窗体,单击该按钮时,我希望背景图像在一组图像(我作为项目的资源)中循环显示。这些图像分别命名为" _1"," _ 2"等,每当我单击该按钮时,我希望其背景图像增加到下一张,并在到达最高位置时返回" _1"。有没有办法做到这一点?

我试图获取button1.BackgroundImage.ToString(),但是像我想的那样会生成System.Drawing.Bitmap而不是Resources._1(在这种情况下,我可以得到最后一个字符并打开它将背景更改为适当的新图像)。

谢谢你的帮助。

解决方案

回答

我们为什么不只是将图像放在一个数组中?

回答

我们可以将Button子类化并覆盖BackgroundImage属性,以便更好地跟踪表示图像的当前资源。我们也可以重写onclick方法以在内部处理循环到下一张图像,但是如果在派生的按钮类之外处理资源,这可能会有些奇怪。