f.ShowDialog
(ここでfはfrmEmail
のインスタンス)という形式のfrmEmail
があります。MdiParentをShowDialogフォームから設定する
フォームを閉じるときに、frmOrder
のインスタンスを開きますが、fOrder.MdiParent = frmMain
を設定するにはどうすればよいですか?
frmMain
は私のMDIフォームです。frmOrder
は私が開く必要があるフォームです。frmEmail
は私が開いているフォームです。現時点では
私のコードは
revoke = True
Dim f As New frmOrder(con, False, False, , orderNum)
f.MdiParent = ' Not sure what to put here?
f.Show()
Me.Close()
私はfrmMain
への参照を格納する変数に渡す必要がありますでしょうか?それを行う別の方法がありますか?私は前に述べたように、frmEmail
がf.ShowDialog
を使用して開いているので、何MdiParent
はありませんので
もちろん、私は、f.MdiParent = Me.MdiParent
を使用することはできません。
これは解決策が多すぎる問題です。最も明白なのは、このコードを適切な場所に置いていることです。 ShowDialog()呼び出しの後に属し、DialogResult.Okを返す場合にのみ実行されます。 –
@ HansPassant 'frmOrder'を再オープンする必要があるかどうかを条件にしていたため、そこに置くことができませんでした。 – Harambe
確かに、ShowDialog()の戻り値をチェックする必要があります。 Close()ではなく、Me.DialogResultプロパティを割り当てることで、適切に閉じます。ダイアログは*常に*ダイアログの結果を持つべきです。 –