Condividi tramite


Evento My.Application.StartupNextInstance

Aggiornamento: novembre 2007

Si verifica durante il tentativo di avviare un'applicazione a distanza singola e l'applicazione è già attiva.

' Usage
Public Sub Me_StartupNextInstance( _
   ByVal sender As Object, _
   ByVal e As StartupNextInstanceEventArgs _
) Handles Me.StartupNextInstance
End Sub
' Declaration
Public Event StartupNextInstance( _
   ByVal sender As Object, _
   ByVal e As StartupNextInstanceEventArgs _
)

Parametri

  • sender
    Object che ha generato l'evento.

  • e
    Un oggetto StartupEventArgs contenente gli argomenti della riga di comando dell'applicazione.

Note

Quando si tenta di riavviare un'applicazione già attiva, viene generato l'evento StartupNextInstance da un'applicazione a istanza singola. Quando si avvia per la prima un'applicazione a istanza singola, viene generato l'evento Startup. Per ulteriori informazioni, vedere Evento My.Application.Startup e Procedura: specificare il comportamento di creazione delle istanze di un'applicazione (Visual Basic).

Questo evento fa parte del modello dell'applicazione di Visual Basic. Per ulteriori informazioni, vedere Cenni preliminari sul modello di applicazione Visual Basic.

Questo evento viene generato sul thread principale dell'applicazione con gli altri eventi dell'interfaccia utente. In questo modo si consente al gestore eventi di accedere direttamente all'interfaccia utente dell'applicazione. Tuttavia, se l'applicazione è occupata nella gestione di un altro evento dell'interfaccia utente, quest'ultimo, una volta generato, potrà essere elaborato solo quando l'altro gestore eventi termina l'operazione o chiama Metodo My.Application.DoEvents.

Nota:

L'evento StartupNextInstance viene generato solo nelle applicazioni a istanza singola. Per abilitare il comportamento a istanza singola nell'applicazione, selezionare la casella di controllo Rendi a istanza singola in Progettazione progetti. Per ulteriori informazioni, vedere Procedura: specificare il comportamento di creazione delle istanze di un'applicazione (Visual Basic).

Per accedere agli argomenti nei successivi tentativi di avviare un'applicazione a istanza singola, è necessario utilizzare la proprietà CommandLine del parametro e. Proprietà My.Application.CommandLineArgs fornisce gli argomenti utilizzati per avviare la prima istanza di un'applicazione a istanza singola.

Il codice relativo al gestore eventi StartupNextInstance è memorizzato nel file ApplicationEvents.vb, che è nascosto per impostazione predefinita.

Per accedere alla finestra dell'editor di codice per gli eventi dell'applicazione:

  1. Con un progetto selezionato in Esplora soluzioni, scegliere Proprietà dal menu Progetto.

  2. Fare clic sulla scheda Applicazione.

  3. Fare clic sul pulsante Visualizza eventi di applicazioni per aprire l'editor del codice.

    Per ulteriori informazioni, vedere Procedura: gestire gli eventi di applicazioni (Visual Basic).

Attività

Nella tabella riportata di seguito sono elencati esempi di attività relative all'evento My.Application.StartupNextInstance.

Per

Vedere

Utilizzare gli eventi forniti dal modello dell'applicazione di Visual Basic per eseguire il codice

Procedura: eseguire codice all'avvio o alla chiusura dell'applicazione

Verificare gli argomenti della riga di comando della prima istanza dell'applicazione

Proprietà My.Application.CommandLineArgs

Esempio

Nell'esempio viene utilizzato il parametro e del gestore eventi StartupNextInstance per verificare gli argomenti della riga di comando dell'applicazione. Se viene rilevato un argomento che inizia con /input=, verrà visualizzata la parte restante dell'argomento.

Private Sub MyApplication_StartupNextInstance( _
    ByVal sender As Object, _
    ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs _
) Handles Me.StartupNextInstance
    Dim inputArgument As String = "/input="
    Dim inputName As String = ""

    For Each s As String In e.CommandLine
        If s.ToLower.StartsWith(inputArgument) Then
            inputName = s.Remove(0, inputArgument.Length)
        End If
    Next

    If inputName = "" Then
        MsgBox("No input name")
    Else
        MsgBox("Input name: " & inputName)
    End If
End Sub

È necessario immettere un codice per gli eventi dell'applicazione nella finestra dell'editor di codice. Per visualizzare questa finestra, seguire le istruzioni contenute nella sezione Note di questo argomento. Per ulteriori informazioni, vedere Procedura: gestire gli eventi di applicazioni (Visual Basic).

Requisiti

Spazio dei nomi:Microsoft.VisualBasic.ApplicationServices

Classe:WindowsFormsApplicationBase

Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Disponibilità per tipo di progetto

Tipo di progetto

Disponibile

Applicazione Windows

Libreria di classi

No

Applicazione console

No

Libreria di controlli Windows

No

Libreria di controlli Web

No

Servizio Windows

No

Sito Web

No

Autorizzazioni

Non sono richieste autorizzazioni.

Vedere anche

Attività

Procedura: gestire gli eventi di applicazioni (Visual Basic)

Procedura: specificare il comportamento di creazione delle istanze di un'applicazione (Visual Basic)

Procedura: specificare il comportamento di creazione delle istanze di un'applicazione (Visual Basic)

Concetti

Cenni preliminari sul modello di applicazione Visual Basic

Riferimenti

Oggetto My.Application

Evento My.Application.Startup

Proprietà My.Application.CommandLineArgs

StartupEventArgs

CommandLine

WindowsFormsApplicationBase.StartupNextInstance