0

我正在使用 VS2008 和 VB.NET Compact Framework 3.5 来开发一个项目。我有一个图片框,可以从图像列表中加载图片。Imagelist 中有 3 个图像,索引为 0、1、2。有没有办法编写带有如下if语句的代码?

当表单加载时:

picturebox.image =  imagelist1.Images(0) 'give picture box an initial value

...

If picturebox.image = imagelist1.Images(0) then
    'do something
elseif picturebox.image = imagelist1.Images(1) then
    'do something
elseif picturebox.image = imagelist1.Images(2) then
    'do something
End If

我也试过用Is代替“=”,如下,但还是不行。在调试中,该语句返回 false,因此它永远不会运行“做某事”。

If picturebox.image Is imagelist1.Images(0) then
    'do something
End If

提前致谢。

4

1 回答 1

2

更新图片框时,将当前索引存储在 .Tag 属性中,以便评估它:

picturebox.image =  imagelist1.Images(0) 
picturebox.Tag = 0

之后:

Select Case picturebox.Tag
    case 0             ' same as If picturebox.Tag = 0 then
      'do something
    Case 1
      'do something 1
    Case 2
      'do something 2
End Select

注意:case 语句类似于 If 语句,输入更少,可读性更高。

于 2013-10-22T22:06:11.063 回答