VB.Net If 语句检查是否加载了我的资源中的特定图像

VB.Net If statement to check if a specific image from my resources is loaded

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

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

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

我将使用几个 ElseIf 语句


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

(对比 2010)

该代码不可能工作有两个原因。首先,Image 是引用类型对象,因此要进行比较,您必须使用 Is 运算符而不是 =。其次,My.Resources 每次都会创建一个新对象,所以即使使用 Is 也永远不会匹配到你。

您需要做的是一次又一次地使用My.Resources 属性 并将Image 对象赋给一个成员变量。然后,您可以在该字段中使用 Is

例如

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