Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: VB* Formista toiseen

Sivun loppuun

aerosoul [18.11.2002 08:46:09]

#

onko tämä oikea tyyli hyppiä formista toiseen

button1_Click()
Form2.Show
Form1.Hide

end sub

???

trinit [18.11.2002 10:15:24]

#

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

Krisu [18.11.2002 21:04:08]

#

ööö... 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.

trinit [19.11.2002 14:55:49]

#

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.

Juuso [09.12.2002 18:29:29]

#

Jos sovelluksen lomakkeita olisi käytettävä useaan kertaan käytä mieluummin omaa tapaasi aerosoul, mutta muuten Trinitin vaihtoehto oli paras...

Sose [09.12.2002 19:23:12]

#

No eiköhän tämä ollut jo suhteellisen vanha aihe? Sitäpaitsi aerosoulhan oli jo saanut hyvän vastauksen.
~Sose~

zacura [11.12.2002 15:35:11]

#

Ainakin delphillä kun poistaa mainformin (form1?) muistista niin ohjelman suoritus lopetetaan, en kuitenkaan tiedä miten tapahtuu VB:ssä.

Blaze [12.12.2002 21:19:46]

#

VB ei toimi, kuten Delphi. Pääformin saa poistaa muistista, jos haluaa.


Sivun alkuun

Vastaus

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

Tietoa sivustosta