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 Sub
Ja 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 Sub
Tai 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 Sub
Eli 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.