我想使用If
语句来检查我资源中的特定图像是否已加载。
我希望在点击时更改图像,如下所示:
If PictureBox1.Image = My.Resources.BIKE13 Then
PictureBox1.Image = My.Resources.BIKE13_Helmet
End If
我将使用多个ElseIf
语句
经过一些搜索,我找到了几种方法,但我有大约20到30张图像,我需要一个简单的方法。
(VS 2010)
答案 0 :(得分:1)
该代码不可能有两个原因。首先,Image
是引用类型对象,因此要比较您必须使用Is
运算符而不是=
。其次,My.Resources
每次都会创建一个新对象,因此即使使用Is
也不会给你一个匹配。
您需要做的是仅使用My.Resources
属性一次,并将Image
对象分配给成员变量。然后,您可以将Is
与该字段一起使用。
E.g。
Private bike13Image As Image = My.Resources.BIKE13
Private bike13HelmetImage As Image = My.Resources.BIKE13_Helmet
和
If PictureBox1.Image Is bike13Image Then
PictureBox1.Image = bike13HelmetImage
End If