Aktionen für Variable DropDown-Items festlegen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Aktionen für Variable DropDown-Items festlegen

    Hallo allerseits!
    Ich habe wieder ein Problem für welches ich auch nach langen grübeln einfach keine Lösung finde.

    Ich habe eine MenuStrip-Control mit dem Item "Benutzer" unter welchem während der Laufzeit des Programmes neue DropDownItems hinzugefügt werden (dh. ich weiß zum Zeitpunkt der Erstellung des Programmes noch nicht wie die Benutzer heißen werden.)

    z.B.

    Angenommen während der Laufzeit des Programmes hat sich folgender MenuStrip ergeben:


    Wie kann ich in diesem Zusammenhang eine Aktion für "Marvin" festlegen?

    Normalerweise wurde ich es ja so machen:

    VB.NET-Quellcode

    1. Private Sub MarvinToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MarvinToolStripMenuItem.Click
    2. requestet_user = "Marvin"
    3. anmeldung()
    4. End Sub


    Wie kann ich jetzt aber für den "Benutzer-X" eine Aktion festlegen?



    Ich komme einfach nicht dahinter :huh:

    Vielen Dank schon mal
    Damit der Knopf was auslöst musst du ihm zur Laufzeit einen Eventhandler zuordnen mit AddHandler
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    Marv schrieb:

    Wie kann ich jetzt aber für den "Benutzer-X" eine Aktion festlegen?
    Da sich nicht gleichzeitig mehrere User anmelden können, solltest Du das über eine Variable steuern, die z.B. die Instanz einer Klasse sein kann, wo User-spezifische Informationen drin stehen.
    Die Eventhandler sind dann ausprogrammiert, und ein neues Item bekommt den bestehenden Handler hinzu-geaddet.
    Im Handler unterscheidest Du die User anhand eben besprochener Instanz.
    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!