Передача переменной в другую форму, из другой, когда вызывается действием - PullRequest
3 голосов
/ 23 февраля 2012

Я мог бы сделать это более сложным, чем я должен.

У меня есть форма в Visual Basic, которая добавляет строку данных в базу данных Access.

Что произойдет (или, скорее, я бы хотел, чтобы это произошло), так это то, что при создании формы строка будет добавлена ​​в указанную базу данных. После добавления этой строки я хочу открыть другую форму (называемую NewWindowA), которая будет извлекать информацию об этой базе данных, связанную с идентификатором строки, созданной из первой формы.

Я знаю, что в NewWindowA мне нужно, чтобы форма загружала значения в Load. Но мой вопрос: как передать значение в новое окно, которое вызывается каким-либо действием?

Ответы [ 2 ]

6 голосов
/ 23 февраля 2012

Вы можете создать конструктор newwindowa, который будет принимать идентификатор, например:

Public Sub New(ByVal ID as Integer) 
   'Do stuff
End Sub

Другой вариант, который у вас есть, заключается в создании глобального свойства в newwindowa

Private _ID As Integer
Public Property ID() As Integer
    Get 
        Return _ID
    End Get
    Set(ByVal value As Integer)
        _ID = value
    End Set
End Property

Когда вы хотитепозвоните в neweindowa:

Dim n as New NewWindowA
n.ID = 12312
n.Show()
4 голосов
/ 23 февраля 2012

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

inисходная форма создает экземпляр новой формы и вызывает метод show, а затем вызывает sub prepareUI, отправляя нужных вам партнеров

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