24. december 2007 - 10:11Der er
10 kommentarer og 1 løsning
If then else, picturebox og imagelist spørgsmål
Hey, det er faktisk ret simpelt det jeg prøver at lave, men alligevel kan jeg ikke helt forstå hvorfor det ikke lykkedes..
Jeg har en imagelist(med 2 billeder) og en picturebox..
Programmet skal starte med billede nr.1 og hvis man så klikker skal den skifte til billede 2, hvis det altså er billede 1 der er i pictureboxen når man trykker..
_____
Form1_load:
picturebox.image = imagelist.images(2)
_____
picturebox_click:
if picturebox.image = imagelist.images(2) then picturebox.image = imagelist.images(1) end if ______
Men problemet er at den ikke vil godtage min "if then else", og den kommer med følgende forklaring..:
"Operator '=' is not defined for types 'System.Drawing.Image' and 'System.Drawing.Image'."
Så der må være en anden måde at skrive det på, men jeg er lidt tør for ideer da jeg ikke ligefrem er professionel programør ;-)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click curr = (curr + 1) Mod imglst.Images.Count PictureBox1.Image = imglst.images(curr) End Sub
Ah, det kan jeg se. Indså først nu, at imagelist.Images(2) returnerer et nyt Image-objekt istedet for det eksiterende i imagelist'en, hvilket er grunden til, at du ikke kan sammenligne med "Is".
Så er løsningen den, som arne_v foreslår; du må i en seperat variabel holde styr på, hvilket imageindex du pt. viser i din picturebox.
Og det var ikke nogle af de foreslåede løsninger som kunne bruges??
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.