Я використовую 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 з набагато меншим набором тексту та більшою читабельністю.