MenuStrip

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Raidon5.

    Schönen guten Abend

    ich hätte mal eine Frage zum MenuStrip und zwar:
    Ich habe es links an der Seite angebracht und möchte es gerne so haben das ich ein Haupttext schreibe also die MenuItem:

    1. Text
    2. Text
    3. Text

    und wenn ich dann auf eines drauf klicke soll es gelistet werden unter unter MenuItems anzeigen:
    1. Text
    UnterText1
    UnterText2
    UnterText3
    2. Text
    3. Text

    Das einzige was ich hinbekomme ist, das erst wenn man drauf klick, sich ein kleines fenster öffnen und man da auswählen kann.
    Aber das stellt sich immer so doof über meine Richtextbox die rechts daneben ist.
    Also, dass was du Vorhast ist glaube ich so mit dem Control nicht Realisierbar.
    Da musst du das Vorgegebene schon nutzen mit dem 2ten fenster.

    Du kannst nur ein Eigenes Control (usercontrol) schreiben was das kann.

    LG

    Raidon5 schrieb:

    Aber das stellt sich immer so doof über meine Richtextbox die rechts daneben ist.

    Das ist das Standardverhalten von Menüs in Windows-Anwendungen. Bei horizontal ausgerichteten Menüs (=Standard) klappt das Untermenü nach unten auf, bei vertikalen Menüs (die kaum einer benutzt) klappen die Untermenüs nach rechts auf. Ohne Win-Api-Trickserei oder Subclassing wird sich da vermutlich nichts dran drehen lassen. Eine Alternative wäre, vom MenuStrip abzulassen und was eigenes zu basteln. Bei sowas würde sich dann sogar WPF anbieten, da das diesbezüglich wirklich sehr flexibel ist.
    Weltherrschaft erlangen: 1%
    Ist dein Problem erledigt? -> Dann markiere das Thema bitte entsprechend.
    Waren Beiträge dieser Diskussion dabei hilfreich? -> Dann klick dort jeweils auf den Hilfreich-Button.
    Danke.

    Raidon5 schrieb:

    MenuStrip
    Sieh Dir mal das an:

    VB.NET-Quellcode

    1. Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
    2. Me.ToolStripMenuItem5.Visible = Me.CheckBox1.Checked
    3. Me.ToolStripMenuItem6.Visible = Me.CheckBox1.Checked
    4. Me.ToolStripMenuItem7.Visible = Me.CheckBox1.Checked
    5. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    naja ich glaube ich mache das einfach mit Visible = True/False
    wollte das jetzt immer mit dem Controls("Name") ausblenden aber ich komme gerade auf ein Problem.
    MS.Controls("Name").Visible = False
    Findet er nicht, wenn ich das mit einem Panel mache geht das, aber wie greife ich da auf ein MenuItem zu?

    Und gibt es einen Befehlt, um herauszufinden, auf welchem Panel sich das Objekt befindet?