以下のコードは、カスタムメニューストリップ用です。私は現在開いているフォームにアクセスする方法を見つけようとしているので、とりわけそれを閉じることができます。私が基本的にやろうとしているのは、ユーザーがクリックして現在のフォームから新しいフォームに移動したときに「ActiveForm.Close()」を実行することです。
ご協力いただきありがとうございます!
Public Class MenuStripCustom
Inherits MenuStrip
Private WithEvents NavToolStrip As New ToolStripMenuItem("File")
Private WithEvents NavMainMenu As New ToolStripMenuItem("Main Menu")
Private WithEvents NavSignOut As New ToolStripMenuItem("Sign Out")
Private WithEvents NavExit As New ToolStripMenuItem("Exit")
Sub New()
Me.Items.Add(NavToolStrip)
NavToolStrip.DropDownItems.Add(NavMainMenu)
NavToolStrip.DropDownItems.Add(NavSignOut)
NavToolStrip.DropDownItems.Add(NavExit)
End Sub
' All forms
Private Sub NavExit_Click(sender As Object, e As EventArgs) Handles NavExit.Click
Application.Exit()
End Sub
Private Sub NavMainMenu_Click(sender As Object, e As EventArgs) Handles NavMainMenu.Click
'MainMenu.visible = true
'ActiveForm.Close()
End Sub
エンドクラス
編集:これはMenuStripオブジェクトであるため、「ActiveForm」はクラスに対して定義されていません。このオブジェクトをフォームに配置したときに、このクラスを介して現在のフォームにアクセスする方法がわかりません。コードの下部で、自分がやろうとしていたことをコメントアウトしました。混乱させて申し訳ありません。