Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: ListBox päivitys

Puoliväkisten [08.02.2009 20:10:23]

#

Hellou

ListBox ongelmaa taas hieman. box1 josta valitaan case4. Tämän jälkeen box ja ja box 3 listaavat vaihtoehdot. tähän asti koodini toimii ihan hyvin.

en saa päivittymään kunnolla boxi kolmosen tietoja kun valitaan kakkosesta jotain.

Esim allaolevakoodi toimii hyvin kun boxi kakkosessa on 1a kolmosessa on valittuna esim 1a2 ja painetaan boxista2 1b niin boxi kolmosen tiedot päivittyvät ja on valittuna 1b1.

ongelma on että jos boxi 2een on valittuna 1a ja box 3. 1a1 ja vaihdetaan box kakkoseen 1b niin boxi kolmosen tiedot eivät päivity

3kpl list boxeja

1st 2nd 3th
1 1a 1a1
1a2
1b 1b1
1b2
1b3
1b4
1c 1c1
1c2


2 1a 1a1
jne..


Olen kokeillut jo jos jonkinnäköstä update refresh hommaa huonoin tuloksin

 Private Sub KojeenYläpuoli_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KojeenYläpuoli.SelectedIndexChanged

If KojeenValinta.SelectedIndex = 4 Then

            Select Case KojeenYläpuoli.SelectedIndex


                Case 0
                    If KojeenYläpuoli.SelectedIndex = 0 Then
                        KojeenAlapuoli.SelectedIndex = 0
                        KojeenAlapuoli.Update()
                        Refresh()
                        KuvaYläpuoli.Image = System.Drawing.Image.FromFile("c:\kuvat\KatASAmalliY1.bmp")
                        Laskenta.PictureBox1.Image = System.Drawing.Image.FromFile("c:\kuvat\MKatASAmalliY1.bmp")
                        KuvaAlapuoli.Visible = True
                    Else
                        KuvaYläpuoli.Visible = False

                    End If
                Case 1
                    If KojeenYläpuoli.SelectedIndex = 1 Then
                        KojeenAlapuoli.SelectedIndex = 0
                        KojeenAlapuoli.Update()
                        KuvaYläpuoli.Image = System.Drawing.Image.FromFile("c:\kuvat\KatASBmalliY1.bmp")
                        Laskenta.PictureBox1.Image = System.Drawing.Image.FromFile("c:\kuvat\MKatASBmalliY1.bmp")
                        KuvaYläpuoli.Visible = True
                    Else
                        KuvaYläpuoli.Visible = False

                    End If

            End Select
 Private Sub KojeenAlapuoli_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KojeenAlapuoli.SelectedIndexChanged

If KojeenValinta.SelectedIndex = 4 Then
           Refresh()
           KojeenAlapuoli.Update()
           KuvaAlapuoli.Refresh()
           If KojeenYläpuoli.SelectedIndex = 0 Then

               ' KojeenAlapuoli.SelectedIndex = 0
               Select Case KojeenAlapuoli.SelectedIndex


                   Case 0

                       If KojeenAlapuoli.SelectedIndex = 0 Then

                           KuvaAlapuoli.Image = System.Drawing.Image.FromFile("c:\kuvat\KatASAmalliA1.bmp")
                           Laskenta.PictureBox2.Image = System.Drawing.Image.FromFile("c:\kuvat\MKatASAmalliA1.bmp")
                           KuvaAlapuoli.Visible = True
                           Refresh()
                       Else
                           KuvaAlapuoli.Visible = False

                       End If
                   Case 1
                       If KojeenAlapuoli.SelectedIndex = 1 Then

                           KuvaAlapuoli.Image = System.Drawing.Image.FromFile("c:\kuvat\KatASAmalliA2.bmp")
                           Laskenta.PictureBox2.Image = System.Drawing.Image.FromFile("c:\kuvat\MKatASAmalliA2.bmp")
                           KuvaAlapuoli.Visible = True

                           'Laskenta.GrpAlapuoliMittaustulokset.Visible = False
                       Else
                           KuvaAlapuoli.Visible = False
                           ' Laskenta.GrpAlapuoliMittaustulokset.Visible = True

                       End If
               End Select
           End If

apuja / ideoita ?

neau33 [09.02.2009 01:00:12]

#

HALOO Puoliväkisten!

Joo synkronoi vaan kaikki boxit keskenään iskemällä joka boxin SelectedIndex_tapahtumaan koodi joka päivittelee kerralla kaikkien boxien valittua indexiä niin takuuvarmasti kaikki alkaa pelittämään juuri kuten olit [ajatellutkin]

Grez [09.02.2009 01:17:04]

#

Tuohon kysymykseen on aika rasittavaa yritä vastata, kun puhut selostuksessa boxi 1:stä ja boxi 2:sta ja boxi 3:sta, mutta koodissa ei ole mitään vastaavia.

Millä tekniikalla nuo listboksit päivittyy? Tuossa käsket kaikenlaita refresh, yms, mutta eihän ne itsessään mitään tee.

Puoliväkisten [09.02.2009 17:21:24]

#

Josko koittaisin yksinkertaistaa kysymystä... :)

on kolme listboxia. Ensimmäisestä valitaan näkyviin vaihtoehdot listbox kakkoseen ja kolmoseen.

kun boxi kakkosesta valitaan jotain päivittyy boxi kolmosen tiedot.

Tämäntyyppinen homma toimii tällähetkellä (vaikka ei heti uskois). Päivitän siis listbox kolmosta kun valitsen listbox kakkosesta jotain

päivitän listan seuraavasti:
listbox3.SelectedIndex = 0

Homma toimii kun listbox kakkosessa on valittuna jokin muu kuin case 0 ja vaihdetaan listbox2:sta esim case0-->1 niin listbox kolmosen tiedot päivittyvät

keksinkin tähän aivan idioottimaisen ratkaisun :)
päivitän listbox3 listaa ensin indeksiin 1 ja tämänjälkeen indeksiin 0 ja homma toimii haluamallani tavalla. hyvä mä :D

Kieltämättä aloitukseni oli hanurista....

Vastaus

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

Tietoa sivustosta