Почему я не могу объявить события приложения в vb.net visual studio 2010? - PullRequest
6 голосов
/ 03 декабря 2011

Я просто не могу, я предполагаю, что что-то не включено, но что?

enter image description here

Ответы [ 2 ]

6 голосов
/ 03 декабря 2011

Перейдите на узел «Мой проект» в дереве решений.Нажмите на эту кнопку:

enter image description here

Это должно привести к следующему файлу:

Namespace My

  ' The following events are available for MyApplication:
  ' 
  ' Startup: Raised when the application starts, before the startup form is created.
  ' Shutdown: Raised after all application forms are closed.  This event is not raised if the application terminates abnormally.
  ' UnhandledException: Raised if the application encounters an unhandled exception.
  ' StartupNextInstance: Raised when launching a single-instance application and the application is already active. 
  ' NetworkAvailabilityChanged: Raised when the network connection is connected or disconnected.
  Partial Friend Class MyApplication

  End Class

End Namespace

Оказавшись там, вы должны иметь (MyApplication Events) воставьте ComboBox в вашем редакторе кода, а список событий в правом ComboBox.

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

1 голос
/ 03 декабря 2011

Я думаю, что проблема в том, что вы просто создали файл .vb, не связывая его с чем-то, что на самом деле имеет события. Исходя из рисунка, я думаю, что вы хотите обработать события в вашем frmInvoice.vb в ApplicationEvents.vb. Если это и есть намерение, то вы должны предварять определение класса в файле frmInvoice с помощью Partial и создать класс с таким же именем в ApplicationEvents.vb (также с предваряющим значением part). Частичное ключевое слово позволяет вам распределять классы по файлам. Реализация выглядит так:

'On actual form
    Partial Public Class Form1

    End Class

'On other .vb file
    Partial Public Class Form1
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            MsgBox("test")
        End Sub
    End Class

Лично мне нет дела до такого подхода, и я предпочитаю использовать регионы в одном файле.

#region "Events"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...