フォームを閉じたボタンを取得する
スポンサーリンク
フォームを閉じたボタンを取得するには、DialogResult プロパティを各々のボタンに設定します。メインとなるフォームから、別のフォームをサブ画面として表示した場合に使えます。サブ画面での入力内容を、適用するかどうかを決定付けることができるからです。例えば、サブ画面で [キャンセル] が選択された場合は適用しないが、[OK] が選択された時は適用する場合などです。
DialogResult プロパティを設定したボタンは、Close メソッドを呼ばなくても閉じられることに注意してください。以下の例では、メインフォーム から サブフォーム を開き、サブフォームで [OK] ボタンを選択した時のみ、メッセージボックスにその旨を表示します。
サンプルコード
以下にサンプルコードを示します。
VB.NET 全般
' メイン フォーム側 Public Class FormMain : Inherits System.Windows.Forms.Form Windows フォーム デザイナで生成されたコード ' btnShowSub をクリックした時 Private Sub btnShowSub_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnShowSub.Click ' FormSub の新しいインスタンスを生成する Dim cFormSub As New FormSub() ' FormSub を表示して、btnOK を選択して閉じた時 [OK] となることを確認する If cFormSub.ShowDialog() = DialogResult.OK Then MessageBox.Show("FormSub で [OK] ボタンが選択されました") End If ' 不要になった時点で破棄する (正しくは オブジェクトの破棄を保証する を参照) cFormSub.Dispose() End Sub End Class
VB.NET 全般
' サブ フォーム側 Public Class FormSub : Inherits System.Windows.Forms.Form Windows フォーム デザイナで生成されたコード ' ロード時にボタンの役割を設定 (通常は、デザイナで初期設定するので必要ありません) Private Sub FormSub_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.btnOK.DialogResult = DialogResult.OK End Sub End Class
関連するリファレンス
準備中です。