Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: objekti & numero onkelma

Sivun loppuun

NanoSoft [22.12.2005 20:22:44]

#

Jos formilla olisi vaikka picturebox1 ja picturebox2 niin miten saisin tuon numeron muuttumaan jossakin tapahtumassa? esim.
for i = 1 to 64
picturebox[numeron vaihto toiminto].backcolor = color.blue
next i

sooda [22.12.2005 20:34:26]

#

Indeksoi ne lootat, eli kopioi se yksi loota, pastea formille ja kun vb kysyy halutaanko luoda kontrollitaulukko, vastaa joo. Sitten niille tulee indeksejä, joilla niit viitataan kuin taulukkoa

' loota on picturebox-arrayn nimi.
For i = 0 to loota.UBound ' olikoha UBound, ei muista, kokeile :)
    loota(i).BackColor = 0
Next

Ja huomaa, että indeksit alkavat nollasta.

NanoSoft [22.12.2005 21:00:15]

#

Eipä tullu sellasta kyselyä! kieli: vb.net

sooda [22.12.2005 21:34:00]

#

Hörh. No taas nähdään, että ensiks kannattaa myös kertoa se kieli. Kokeile sit käsin antaa jollekin kontrollille indeksi, varmaan dotnet-idessäkin on se kontrollin ominaisuudet -lista..? Siitä Index-kohtaan 0.

Juice [22.12.2005 22:04:31]

#

Voithan silti tehdä taulukon pictureboxistakin aivan kuin mistä tahansa muustakin oliotyypistä. Niin se on viisainta tehdä.

NanoSoft [22.12.2005 22:22:03]

#

kertokaa todella tarkkaan, koska joudun aina kysymään erikseen siitä minkä jo kerroitte lyhyesti! Eli miten ne indexoidaan?
Googlesta ja msdn kirjastosta ei tahdo löytää millään oikeaa vastausta kun ne kertoo vaan jostain palvelimista...

Juice [23.12.2005 15:31:21]

#

'Tee 64 pictureboxin taulukko. En ole varma konstruktorista
Dim pictures(64) As New Picturebox
'Muutetaan kaikkien taulukoiden pictureboxien väri
For i=0 To 63
  pictures(i).BackColor = Color.Lawngreen
Next i
'Lisätään joku picturebox formille. En kylläkään voi tarkistaa metodin oikeellisuutta dokumentaatiosta nyt, mutta jokin tämäntapainen se oli. Code completion auttaa.
MainForm.add(pictures(i))

Kuten moneen kertaan jo mainittu, hatusta vedettyä ja testaamatonta koodia.

NanoSoft [24.12.2005 09:08:09]

#

eipä toiminu! New:tä ei voi käyttää arrayn kanssa!

Juice [24.12.2005 14:07:53]

#

Tämä on sitten testattua koodia ja toimii varmasti. Sovella tästä.

'Initialisoidaan taulukko
Private pic(5) As PictureBox
Private Sub MainFormLoad(sender As System.Object, e As System.EventArgs)
    Dim i As Byte
    For i=0 To 4
        'Luodaan picturebox
        pic(i) = New PictureBox()
        'Ja asetetaan sijainti sekä koko
        pic(i).Location = New System.Drawing.Point(i*60, 64)
        pic(i).Size = New System.Drawing.Size(50, 104)
        'Joka toinen boksi mustaksi ja joka toinen punaiseksi
        If i Mod 2 Then
            pic(i).BackColor = Color.Black
        Else
            pic(i).BackCOlor = Color.red
        End If
        'Sekä lisätään formille
        Me.Controls.Add(pic(i))
    Next
End Sub

Eli tämä lätkäisee punaisia ja mustia pictureboxeja formille.

NanoSoft [24.12.2005 15:20:17]

#

kiitos, kokeilen heti kun jatkan sitä shakki juttua!


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta