Где и когда вызывается InitializeComponent в элементе управления Windows Forms в VB.NET? - PullRequest
9 голосов
/ 25 июня 2009

Я делаю проект Windows Forms в VB.NET, но VB.NET для меня совершенно новый, я в первую очередь разработчик C #.

В C # Windows Forms InitializeComponent пользовательского элемента управления вызывается из конструктора формы / элемента управления. Когда я создаю тот же сценарий в VB.NET, я не получаю конструктор и не могу найти место, где вызывается InitializeComponent.

Мне нужно вызвать мой код между InitializeComponent и когда возникает событие Load элемента управления, предпочтительно все еще в конструкторе элемента управления. Как мне это сделать в VB.NET?

Ответы [ 2 ]

11 голосов
/ 25 июня 2009

Перейдите к представлению «Код» в форме, а затем из выпадающего меню выберите «Новый метод».

Там вы можете увидеть, где вызывается InitializeComponent, и вставить свою логику.

Ваш код, если ваша форма пуста, должен выглядеть следующим образом:

Public Class Form1

    Public Sub New()
        ' This call is required by the Windows Form Designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.
    End Sub

End Class
1 голос
/ 25 июня 2009

В VB.NET конструктор называется New и имеет следующую базовую подпись.

Public Sub New()
End Sub

Конечно, вы можете переопределить его и добавить пользовательские параметры.

Visual Studio 2008, BTW, будет напоминать вам о том, что вы должны добавить метод InitializeComponent() в конструктор на случай, если вы забудете об этом, и опускание приведет к странному поведению ваших элементов управления.

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