Vihdoin löysin täältä esimerkin miten luon silmukalla joukon dynaamisia kuvakehyksiä. Ilo loppui siihen kun en löydä millään konstia jolla voisin yhden kuvan klikkauksella vaikuttaa muihinkin kuviin (esim. kuvan vaihto). Tällä koodilla voin hallita yhtä kuvaa, mutten muita!
Private Sub Clikkaus(ByVal sender As Object, ByVal e As System.EventArgs) Dim tunnus, kortin As String Dim seuraava As Integer tunnus = CType(sender, PictureBox).Name kortin = CType(sender, PictureBox).Tag Valmishertta.Image = CType(sender, PictureBox).Image seuraava = tunnus + 7 CType(sender, PictureBox).Name = seuraava 'yritys siirtää ohjaus seuraavalle kuvakehykselle TextBox17.Text = ("Painoit kuvakehystä " & tunnus) viesti.Text = ("Kehyksessä on kortti nr:" & kortin) viesti3.Text = ("Seuraava kortti " & seuraava) valmispata.Image = CType(sender, PictureBox).Image End Sub
Jospa joku osaisi antaa esimerkin miten useamman Pictureboxin komentaminen yhdestä boxista onnistuisi.
Mod. korjasi kooditagit!
Jos vaihdat pictureboxin nimeä, niin se ei luonnollisesti vaikuta mitenkään muihin pictureboxeihin.
Ehdotan, että laitat ne dynaamisesti luomasi vaikka List(Of Picturebox) tyyliselle listalle, niin voit hakea mikä on sender-pictureboxin indeksi ja käyttää sitten listassa seuraavaa.
Tai sitten ihan vaan
Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click 'Siirtää klikatun ja kaikkien seuraavien pictureboksien vasemman laidan kohtaan 5 Dim ctrl As Control = sender While Not ctrl Is Nothing If TypeOf ctrl Is PictureBox Then Dim boksi As PictureBox = ctrl boksi.Left = 5 End If ctrl = GetNextControl(ctrl, True) End While End Sub
Kooditagi muuten suljetaan [/ -alkuisesti, nythän tuo sinun koodisi ei valitettavasti näy kooditagillisena.
Kiitos vihjeestä. Näyttäisi että pääsen sillä huomattavasti eteenpäin, ehkäpä aivan loppuun asti, vaikkakin aiemmista innostuksistani viisastuneena en ole enää yhtä varma että kaikki ratkeaa nyt! Näyttää usein siltä että, kun nokka irtoaa niin pyrstö tarttuu:)
Kiitos myös tagi vihjeestä. En varmaankaan lukenut ohjeita aivan kirjaimellisti.
Aihe on jo aika vanha, joten et voi enää vastata siihen.