onko tämä oikea tyyli hyppiä formista toiseen
button1_Click()
Form2.Show
Form1.Hide
end sub
???
Ei kai siinä mitään vikaa ole. Tuossa vain Form1 jää aina muistiin vieden tietenkin muistia, joten mikäli haluat poistaa sen myös muistista tee näin:
Private Sub Command1_Click()
Unload Form2
Form1.Show
End SubJa mikäli haluat näytettävästä (Form1) formista vielä sellaisen joka estää muiden ikkunoiden käytön, laita Form1.Show rivin perään vbModal
ööö... jos vain form2 on auki, niin et ikinä tule pääsemään form yhteen edellisellä, sillä ohjelma form2 suljetaan ennen kuin se ehtii ajaa form1.show rivin.
ja eikös tuossa pitäisi olla form1.load ennen form1.show:ia, jolloin lopullinen listaus näyttäisi tälle:
Private Sub Command1_Click()
Form1.Load
Form1.Show
Unload Form2
End SubTai tuota tapaa ainakin itse käytän formista toiseen hyppimiseen, jos on tarvis.
lainaus:
ööö... jos vain form2 on auki, niin et ikinä tule pääsemään form yhteen edellisellä
No joo, siihen on tullut virhe näköjään. Eli se siis menisi näin:
'Vaihdetaan Form1:stä Form2:seen
'
'Form 1:n koodia
Private Sub Command1_Click()
Form2.Show
End Sub
'Form2:n koodia
Private Sub Form_Load()
Unload Form1
End SubEli eiköhän se noin mene, jollei taas tullut jotakin ajatusvirhettä siihen? Show metodista ennen Load metodin käyttöä sanotaan VB:n helpissä näin:
If the specified form isn't loaded when the Show method is invoked, Visual Basic automatically loads it.
Jos sovelluksen lomakkeita olisi käytettävä useaan kertaan käytä mieluummin omaa tapaasi aerosoul, mutta muuten Trinitin vaihtoehto oli paras...
No eiköhän tämä ollut jo suhteellisen vanha aihe? Sitäpaitsi aerosoulhan oli jo saanut hyvän vastauksen.
~Sose~
Ainakin delphillä kun poistaa mainformin (form1?) muistista niin ohjelman suoritus lopetetaan, en kuitenkaan tiedä miten tapahtuu VB:ssä.
VB ei toimi, kuten Delphi. Pääformin saa poistaa muistista, jos haluaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.