|
■No13353 (E.S. さん) に返信 > やりたいこと > ・モーダレスで各Formを呼び出ししたい。 > ・例外が発生してFormを閉じるのは、その例外を発生させたFormだけがよい。 > ・各Formではエラー画面を表示させる記述をしたくなく、throwするだけにしたい。 >
VB.NETですが、私の開発しているメニュー画面で下記のようにしています。 呼出しするフォームのクローズイベントをAddHandlerして、各フォームの Closeイベントが呼ばれると、メニューのCloseイベント処理にくるので、 senderの内容からメニューか各フォ−ムかを判断して処理しています。 これと似たような考えでやればいいような気がします。
AddHandler form.FormClosed, AddressOf FormClossed 'フォームを表示 form.Show()
Private Sub FormClossed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
If sender.Name = Me.Name Then 'メニューを破棄 ・・・ else 'メニューより起動されたFormを破棄 Dim form As Form = CType(sender, Form) ・・・ end if
|