2013-10-22 108 views
0

我正在使用VS2008與VB.NET Compact Framework 3.5開發一個項目。我有一個從圖像列表加載圖片的圖片框。在Imagelist中有3張圖像,索引爲0,1,2。有沒有什麼辦法可以用來編寫代碼,如果的語句如下所示?picutrebox與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 

我也試過用的是代替「=」,如下所示,但仍然無法工作。在調試中,該語句返回false,所以它從不運行'執行某些操作。

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

在此先感謝。

回答

2

當您更新PictureBox的,存儲在.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語句類似於如果語句的鍵入少且易讀性強。

+0

只是想知道爲什麼我的原始代碼不起作用。即使這返回False: MsgBox(ImageList1.Images(1)is ImageList1.Images(1)) – apolloneo