私はこのMenuStrip
がLayoutStyle = VerticalStackWithOverflow
と、フォーム内で左にドッキングしている、と私はその項目は、ユーザがMenuStripの上にマウスを移動した場合にのみ、そのテキストを表示するために、これらの2つのイベントハンドラを書いた:MenuStripの項目の1つがサブ項目に展開されたときを検出する方法は?
Private Sub MenuStripMainMenu_MouseEnter(sender As Object, e As EventArgs) Handles MenuStripMainMenu.MouseEnter
For Each c In MenuStripMainMenu.Items.OfType(Of ToolStripItem)
c.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
Next
End Sub
Private Sub MenuStripMainMenu_MouseLeave(sender As Object, e As EventArgs) Handles MenuStripMainMenu.MouseLeave, MenuStripMainMenu.LostFocus
For Each c In MenuStripMainMenu.Items.OfType(Of ToolStripItem)
c.DisplayStyle = ToolStripItemDisplayStyle.Image
Next
End Sub
これが働いているが、 MenuItemの中にはMenuItem(メニューツリーの選択肢)があり、ユーザーがルートのMenuStripからオプションにマウスを移動すると、MenuStripは「アイコンのみ」モードに縮小され、拡張されたメニューは不思議です。
MenuStripが項目の1つをサブアイテムに展開したときに検出する方法はありますか?適切な調整ルーチンを停止できますか?
ありがとうございました!
EDIT
これは DonBoitnott's answerはVB.NETに移植され、私は戻ってメニューが非アクティブ化された直後に画像のみにストリップを縮小するために、MenuDeactivate
ハンドラでフォローアップを追加しました:
Private MenuStripMainMenu_activated As Boolean = False
Private Sub MenuStripMainMenu_MenuActivate(sender As Object, e As EventArgs) Handles MenuStripMainMenu.MenuActivate
MenuStripMainMenu_activated = True
End Sub
Private Sub MenuStripMainMenu_MenuDeactivate(sender As Object, e As EventArgs) Handles MenuStripMainMenu.MenuDeactivate
MenuStripMainMenu_activated = False
MenuStripMainMenu_MouseLeave(sender, e)
End Sub
Private Sub MenuStripMainMenu_MouseEnter(sender As Object, e As EventArgs) Handles MenuStripMainMenu.MouseEnter
For Each c In MenuStripMainMenu.Items.OfType(Of ToolStripItem)
c.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
Next
End Sub
Private Sub MenuStripMainMenu_MouseLeave(sender As Object, e As EventArgs) Handles MenuStripMainMenu.MouseLeave
If Not MenuStripMainMenu_activated Then
For Each c In MenuStripMainMenu.Items.OfType(Of ToolStripItem)
c.DisplayStyle = ToolStripItemDisplayStyle.Image
Next
End If
End Sub
完璧!私はちょうど 'MenuDeactivate'ハンドラにフォローアップを追加しました。メニューが非アクティブになった直後に画像だけに戻すように縮小しました。私の投稿を編集してVB.NET版を追加しました。どうもありがとうございます! – VBobCat