Pazi ovako...
Ako ti je glavna forma Form1 - ona koja se prikazuje po startovanju aplikacije, onda nećeš moći da dobiješ ono što bi želeo, da se klikom na dugme otvori Form2 a zatvori Form1, jer ćeš time zatvoriti glavni prozor aplikacije i samim tim zatvoriti aplikaciju odnosno i Form2.
Rešenje je sledeće:
1. Napravi modul sa ovim kodom i stavi da ti je startup object aplikacije Sub Main:
Code:
Public Module Glavni
Public Sub Main()
Dim F As New Form1
F.Show()
Application.Run()
End Sub
End Module
Ovo će prikazati prvu formu ali je neće registrovati kao glavni prozor aplikacije tako da neće biti problema pri zatvaranju prve forme.
2. U Form1 stavi ovaj kod - sličan onom koji si postovao ovde:
Code:
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
Dim F As New Form2
F.Show()
End Sub
Dakle, kad zatvaraš prvu formu, prikzaće ti drugu formu - ukoliko želiš da radiš ovo ist o na npr. Click dugmeta ili neki drugi događaj onda možeš da koristiš ovaj kod pod 2 plus liniju Me.Close().
Radi i rešenje koje ti je napisao Fedya, samo dodaj još jednu liniju na kraju e.Cancel = True stim da ti prvi korak ti ne treba uopšte, ali je u pitanju samo sakrivanje a ne zatvaranje prve forme forme. U oba slučaja moraš omogućiti zatvaranje same aplikacije preko koda, npr u formi 2 na closed event stavi liniju Application.Exit().
Fedya:
Citat:
Forma sama sebe ne može uništiti, može je uništiti neka druga forma
LOL! Ajde zalepi jedno dugme na formu i u njegov Click događaj stavi Me.Close() pa posmatraj kako 'neće' sebe da uništi.