VB.Net If语句,用于检查是否加载了来自我的资源的特定图像

时间:2015-09-27 19:15:31

标签: vb.net vb.net-2010

我想使用If语句来检查我资源中的特定图像是否已加载。

我希望在点击时更改图像,如下所示:

If PictureBox1.Image = My.Resources.BIKE13 Then
    PictureBox1.Image = My.Resources.BIKE13_Helmet
End If

我将使用多个ElseIf语句

经过一些搜索,我找到了几种方法,但我有大约20到30张图像,我需要一个简单的方法。

(VS 2010)

1 个答案:

答案 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