- ベストアンサー
MDIParent1に、ToolStripButton1とLabel1、Label2を配置しています。
- ToolStripButton1をクリックしてForm1を表示させる。
- Label1をクリックしてForm1のTextをLabel1のTextに変更する。
- Label2をクリックしてForm1のTextをLabel2のTextに変更する。現在下記のプログラムを実行したのですがLabel1をクリックすると新たにForm1が表示されてしまいます。Label2をクリックすると新たにForm1が表示されてしまいます。クリックする毎にForm1がふえていきます。対策方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ラベルのイベントで F1 = New Form1 を実行しているためですよ Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click ' ココを追加 If F1 is Nothing then ' F1が生成されていなければ F1 = New Form1 End if F1.Visible = True F1.Text = Label1.Text Label1.BorderStyle = BorderStyle.Fixed3D Label2.BorderStyle = BorderStyle.None End Sub Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click ' ココを追加 If F1 is Nothing then ' F1が生成されていなければ F1 = New Form1 End if F1.Visible = True F1.Text = Label2.Text Label2.BorderStyle = BorderStyle.Fixed3D Label1.BorderStyle = BorderStyle.None End Sub End Class ボタン側のイベントも Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click ' Dim frm As New Form1 #if F1 i Nothing then F1 = New Form1 end if F1.MDIParent = Me F1.Show() End Sub といった具合に F1に対して操作しないと整合性が取れないかも …
お礼
連絡が遅くなり申し訳ありませんでした。 無事、問題を解決することができました。 今後とも、宜しくお願いします。