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 ?
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]
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.
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....
Aihe on jo aika vanha, joten et voi enää vastata siihen.