我有一个简单的联系人簿。该应用程序具有一个主窗口,即MDI表单。当使用“添加联系人”表单添加联系人时,我希望在父窗口状态栏中显示一个简单的反馈消息,说明联系人已成功添加。
以下是子窗口加载:
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
问题在于父窗体实际上是一个MDI父窗体,而“添加联系人”窗体是通过
.Show()
而不是.ShowDialog()
启动的,因此我无法存储任何可由启动子窗体使用的返回值来执行操作。有没有一种方法可以从子窗体传递值给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
顺便说一句,我很不擅长标记东西...所以任何想重新标记这个问题的人都非常欢迎。