2013-08-28 4 views
11

Ho un benvenuto alla mia applicazione mentre si carica, ma poi è necessario chiudere il modulo e accedere al modulo di accesso quando si preme il pulsante Continua.Come aprire un nuovo modulo ma chiudendo quello vecchio in VB

Il mio codice:

Me.Close() 
    Dim Login As New Form 
    Login.Show() 

Quando clicco il bottone si chiude solo la forma di benvenuto e poi finisce l'applicazione. Se puoi aiutare grazie! :)

+2

Prova a inserire 'Me.Close' dopo' Login.Show() '. Inoltre, assicurati che il tuo modulo di benvenuto non sia il tuo modulo principale ... – Alex

+0

Prova a dare un'occhiata a questo http://stackoverflow.com/questions/17927615/when-my-form-is-hidden-and-reloaded-from -another-form-it-is-not-executing-the-co – Manny265

risposta

18

È possibile impostare le proprietà del progetto per selezionare "L'ultima volta che modulo verrà chiuso" nel menu a discesa modalità di spegnimento

Aggiornamento: -

menu "Progetto" -> Proprietà 'YourApp' ... -> Scheda Applicazione

cerca: "Spegni Mode"

Cambiamento dal

"Quando form di avvio si chiude" -> "L'ultima volta che modulo chiude"

+0

Sembra non trovarlo – nfell2009

+0

Controlla questo: - http://msdn.microsoft.com/en-us/library/system.windows.application.shutdownmode.aspx –

+0

Puoi andare alle proprietà del tuo progetto e lì devi selezionare questo !!! –

7

mostrare il modulo prima della chiusura.

Dim Login As New Form 
Login.Show() 
Me.Close() 
+2

Fa la stessa cosa, basta chiudere l'intera cosa. – nfell2009

0

se il modulo di benvenuto non è il modulo principale, basta bisogno di mettere il vostro Me.Close dopo vostro Login.Show()

Dim Login As New Form 
Login.Show() 
Me.Close() 
3

C'è un shutdown mode proprietà del progetto. Questo controlla il ciclo di vita dell'applicazione.

Assicurarsi di impostare questo per "L'ultima volta che modulo chiude"

Poi il codice dovrebbe funzionare come ci si aspetta.

Quello che sta accadendo è che si dispone che l'impostazione impostata su arresto "quando form di avvio si chiude", così facendo Me.Close sul form di avvio, questo chiude l'applicazione, tutto il codice dopo questa riga viene effettivamente ignorata.

3

meglio è se si utilizza Me.Hide()

0

Prova questo ..

sul modulo di benvenuto durante la chiusura:

Me.hide() 
Dim Login As New Form 
Login.Show() 

sul modulo di login quando in caso di carico:

Private Sub Login_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

    WelcomeForm.Close() 

End Sub 

Questo cercherà di nascondere il primo modulo e caricare il secondo modulo . E quando il secondo modulo è completamente caricato cercherà di chiudere il primo modulo.

Assicurarsi che nella scheda Applicazione sotto le proprietà del progetto l'opzione sia impostata su "Quando si chiude l'ultimo modulo".

-1

Hai solo bisogno di mettere Hide() invece di chiudere :)

Così, per esempio, nel progetto di im facendo adesso ...

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click // Button1.Click is your "continue" button 
     Hide() 
     LogInFrom.Show() 
    End Sub 
0

se si chiude forma principale sub dall'applicazione , la tua applicazione si chiuderà. Tuttavia, puoi chiudere e aprire altri moduli se non sono la forma principale. Forse puoi semplicemente nasconderlo invece.

+0

Abbiamo ottenuto questo ordinato ... grazie comunque – nfell2009

Problemi correlati