Может ли кто-нибудь предоставить мне пример, пожалуйста?VB.net Передача данных между двумя детьми mdi
Сценарий:
**FORM1** = MDIPARENT
FORM2 = CHILD
FORM3 = CHILD
FORM2
открывается меню на MdiParent FORM2
имеет текстовое поле - CompanyNameText рядом с этим текстовое поле есть кнопка, которая открывает FORM3
, содержащий список
Что Я пытаюсь добиться, чтобы пользователь выбрал название компании из списка в FORM3
, и их выбор будет отображаться в FORM2's
Companynametextbox
Я пробовал: -
FORM3:-
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim formChild2 As AllocateCallBack = DirectCast(Me.MdiParent.MdiChildren(1), AllocateCallBack)
formChild2.ReceiveValue(SelectTextBox.Text)
End Sub
Form2: -
Public Sub ReceiveValue(ByVal value As String)
CompanyNameTextBox.Text = value.ToString
Me.Activate()
Me.Refresh()
End Sub
Но я получаю сообщение Nullreferenceexception` был необработанным.
Я подтвердил, что значение SelectTextBox
имеет значение, указанное выше.
Помогите пожалуйста
То фантастическое, спасибо за быстрый отклик на последний вопрос. Я хотел бы прикрепить форму 3 в форму 1, однако я не могу сохранить форму 3 в качестве третьего ребенка, так как im теперь получает эту ошибку: - Форма, которая не является формой верхнего уровня, не может отображаться как модальное диалоговое окно. Удалите форму из любой родительской формы перед вызовом showDialog. – JeniferLips
Я ответил с помощью простейшего решения вашей проблемы: если вы используете ShowDialog, нет необходимости подключать FORM3 к FORM1. Если вы хотите, чтобы FORM2 и FORM3 всегда открывались, есть еще одно решение, но это требует гораздо больше работы. – tezzo