掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フォームが一緒に閉じられてしまうのを回避するには?【.NET】 (ID:116592)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
' [使用コントロール] Form1・Form2 にそれぞれ Button1 配置 ' [スタートアップの設定] Sub Main ' 仕様:プログラム起動で Form1 が表示されます。ボタン押下で 'Form2 表示後、Form1 は閉じます。Form2 のボタン押下で Form1 '表示後 Form2 が閉じるトグル処理が続きます。プログラムを終了 'したい場合はフォームの[閉じるボタン(×ボタン)]でフォームを '閉じて下さい。 [VB.NET] '///////////////////////// Option Explicit On '///////////////////////// '/// Module1.vb '///////////////////////// Module Module1 Public Sub Main() Dim wStartClass As New Class1 Call wStartClass.Start() End Sub End Module '///////////////////////// Option Explicit On '///////////////////////// '/// Class1.vb '///////////////////////// Public Class Class1 Private Form1_form As Form1 Private Form2_form As Form2 Friend Sub Start() Call Me.ShowForm1() Do Application.DoEvents() System.Threading.Thread.Sleep(100) If Me.Form1_form Is Nothing _ AndAlso Me.Form2_form Is Nothing Then Exit Do End If Loop End Sub Friend Sub ShowForm1() If Me.Form1_form Is Nothing Then Me.Form1_form = New Form1(Me) End If Me.Form1_form.Show() End Sub Friend Sub ShowForm2() If Me.Form2_form Is Nothing Then Me.Form2_form = New Form2(Me) End If Me.Form2_form.Show() End Sub Friend Sub SetForm1Nothing() Me.Form1_form = Nothing End Sub Friend Sub SetForm2Nothing() Me.Form2_form = Nothing End Sub End Class '///////////////////////// Option Explicit On '///////////////////////// '/// Form1.vb '///////////////////////// Public Class Form1 Inherits System.Windows.Forms.Form ' Windows フォーム デザイナで生成されたコード Private mParentClass As Class1 Friend Sub New(ByRef ParentClass As Class1) Me.New() Me.mParentClass = ParentClass End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.mParentClass.ShowForm2() Me.Close() End Sub Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing Me.mParentClass.SetForm1Nothing() End Sub End Class '///////////////////////// Option Explicit On '///////////////////////// '/// Form2.vb '///////////////////////// Public Class Form2 Inherits System.Windows.Forms.Form ' Windows フォーム デザイナで生成されたコード Private mParentClass As Class1 Friend Sub New(ByRef ParentClass As Class1) Me.New() Me.mParentClass = ParentClass End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.mParentClass.ShowForm1() Me.Close() End Sub Private Sub Form2_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing Me.mParentClass.SetForm2Nothing() End Sub End Class
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.