У меня есть простая контактная книга. Приложение имеет главное окно, которое является формой mdi. Когда контакт добавляется с помощью формы «добавить контакт», я хочу показать простое сообщение обратной связи в строке состояния родительского окна, в котором говорится, что контакт был успешно добавлен.Проходящая стоимость от ребенка до родителя mdi в VB.net
Вот ребенок загрузка:
Private Sub addButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles addButton.Click
Dim af As New addForm
af.MdiParent = Me
af.Show()
End Sub
Проблема заключается в том, что, поскольку родитель на самом деле является МДИ родителем, и «добавить контакт» форма запускается с .Show()
вместо .ShowDialog()
, я не могу хранить любое возвращаемое значение, которое может быть использовано стартовым Sub для выполнения действия.
Есть ли способ передать значение от этого ребенка родительскому устройству mdi? Вот детская форма, которая делает это:
Private Sub addButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles addButton.Click
Dim contact = <contact>
<quickName><%= quickNameTextBox.Text %></quickName>
<firstName><%= firstNameTextBox.Text %></firstName>
<lastName><%= lastNameTextBox.Text %></lastName>
<email><%= emailTextBox.Text %></email>
<website><%= websiteTextBox.Text %></website>
<telephone><%= telephoneTextBox.Text %></telephone>
<mobile><%= mobileTextBox.Text %></mobile>
</contact>
Dim contactList = XDocument.Load("contactList.xml")
contactList.Elements()(0).Add(contact)
contactList.Save("contactList.xml")
//something here to trigger the status update in the parent?
//trivia: SO doesn't support VB single-quote comments...
Me.Close()
End Sub
P.S. Видимо, я довольно плохо отношусь к вещам ... поэтому любой желающий повторить этот вопрос приветствуется.
Извините, но где в родительской форме я помещаю обработчик? К чему относится CONTROLNAME? – Mussnoon
Вы должны поместить обработчик сразу после создания дочерней формы. Это похоже на этот пост: http://stackoverflow.com/questions/1774386/how-to-declare-events-on-class-library-dll-and-catch-them-on-form/1775453#1775453 – Walter