WindowsFormsApplicationBase.StartupNextInstance Событие

Определение

Происходит при попытке запуска приложения, допускающего одновременное выполнение только одной своей копии, при наличии уже активного экземпляра этого приложения.

public:
 event Microsoft::VisualBasic::ApplicationServices::StartupNextInstanceEventHandler ^ StartupNextInstance;
public event Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventHandler StartupNextInstance;
member this.StartupNextInstance : Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventHandler 
Public Custom Event StartupNextInstance As StartupNextInstanceEventHandler 
Public Event StartupNextInstance As StartupNextInstanceEventHandler 

Тип события

Примеры

В этом примере используется e параметр обработчика StartupNextInstance событий для проверки аргументов командной строки приложения. Если найден аргумент, начинающийся с /input=, отображается остальная часть этого аргумента.

Private Sub MyApplication_StartupNextInstance(
    sender As Object,
    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

Для событий приложения необходимо ввести код в окне редактора кода. Чтобы получить доступ к этому окну, следуйте инструкциям из раздела Примечания этого раздела. Дополнительные сведения см. в разделе Application Page, Project Designer (Visual Basic).

Комментарии

Приложение с одним экземпляром вызывает StartupNextInstance событие при попытке перезапустить приложение, когда оно уже активно. Когда приложение с одним экземпляром запускается в первый раз, оно вызывает Startup событие . Для получения дополнительной информации см. Startup.

Это событие является частью модели приложений Visual Basic. Дополнительные сведения см. в статье Обзор модели приложений Visual Basic.

Это событие возникает в основном потоке приложения вместе с другими событиями пользовательского интерфейса. Это позволяет обработчику событий напрямую обращаться к пользовательскому интерфейсу приложения. Однако если приложение занято обработкой другого события пользовательского интерфейса при возникновении этого события, это событие не может быть обработано до тех пор, пока другой обработчик событий не завершит или не вызовет DoEvents метод .

Примечание

Событие StartupNextInstance вызывается только в приложениях с одним экземпляром. Чтобы включить поведение одного экземпляра для приложения, необходимо установить флажок Создать приложение с одним экземпляром в конструкторе проектов.

Создание единого экземпляра приложения
1. Выбрав проект в обозревателе решений, щелкните Свойства в меню Проект .
2. Перейдите на вкладку Приложение .
3. Установите флажок Создать приложение с одним экземпляром .

Необходимо использовать CommandLine свойство параметра для e доступа к аргументам для последующих попыток запуска приложения с одним экземпляром. Свойство CommandLineArgs предоставляет аргументы, используемые для запуска первого экземпляра приложения с одним экземпляром.

Код обработчика StartupNextInstance событий хранится в файле ApplicationEvents.vb, который по умолчанию скрыт.

Доступ к окну редактора кода для событий приложения
1. Выбрав проект в обозревателе решений, щелкните Свойства в меню Проект .
2. Перейдите на вкладку Приложение .
3. Нажмите кнопку Просмотреть события приложения , чтобы открыть редактор кода.

Дополнительные сведения см. в разделе Application Page, Project Designer (Visual Basic).

В следующей таблице перечислены примеры задач, связанных с событием My.Application.StartupNextInstance .

Кому См.
Проверка аргументов командной строки первого экземпляра приложения CommandLineArgs

Доступность по типу проекта

Тип проекта Доступно
Приложение Windows Forms Да
Библиотека классов Нет
Консольное приложение Нет
Библиотека элементов управления Windows Forms Нет
Библиотека веб-элементов управления Нет
Службы Windows Нет
Веб-сайт Нет

Применяется к

См. также раздел