/ / picutrebox з оператором if - vb.net, if-statement, picturebox

picutrebox з оператором if - vb.net, if-statement, picturebox

Я використовую VS2008 з VB.NET Compact Framework 3.5 розробити проект. У мене є ящик з картинками, який завантажує зображення зі списку зображень. У списку зображень є 3 зображення з індексом 0, 1, 2. Чи є спосіб записати код з а якщо твердження на зразок наступного?

Коли форма завантажується:

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 замість "=", як описано нижче, але все-таки не виграв "т". У налагодженні оператор return false, тож щось "не запущено" робити щось.

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

Заздалегідь спасибі.

Відповіді:

2 для відповіді № 1

Коли ви оновлюєте поле для малюнків, збережіть поточний індекс у властивості .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

Примітка. Оператор випадку схожий на оператор If з набагато меншим набором тексту та більшою читабельністю.