私は簡単な連絡帳を持っています。アプリケーションには、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()
起動されるため、起動する 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
PSどうやら、私は物事にタグを付けるのがかなり苦手です...そのため、この質問に再タグ付けしたい人は誰でも大歓迎です。