Kontextmenü beim NotifyIcon

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von ichduersie.

    Ich muss das Thema leider nochmal ausgraben...
    ich hab den Code mal bei mir eingefügt... Das in den Tray schieben funktioniert problemlos...
    jedoch wenn ich das TrayIcon mit rechts anklicke, kommt das Hauptfenster direkt hoch...
    Anbei mal mein Snippet...

    VB.NET-Quellcode

    1. Private Sub Form1_Load....
    2. NotifyIcon1.ContextMenuStrip = ContextMenuStrip1

    und

    VB.NET-Quellcode

    1. Private Sub MinimierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MinimierenToolStripMenuItem.Click
    2. Me.Hide()
    3. NotifyIcon1.Visible = True
    4. End Sub
    5. Private Sub NotifyIcon1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.Click
    6. Me.Show()
    7. NotifyIcon1.Visible = False
    8. End Sub
    9. Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
    10. Me.Close()
    11. End Sub
    12. Private Sub OptionenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OptionenToolStripMenuItem.Click
    13. Form2.ShowDialog(Me)
    14. End Sub


    Danke einstweilen :)
    Nein! Doch! OHH!
    Du benutzt das falsche Event: NotifyIcon1.Click statt NotifyIcon1.DoubleClick

    So sollte es gehen:

    VB.NET-Quellcode

    1. Private Sub NotifyIcon1_DoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.DoubleClick
    2. Me.Show()
    3. NotifyIcon1.Visible = False
    4. End Sub


    PS: Warum weißt du dem NotifyIcon seinen ContextMenuStrip nicht per Designer zu?
    Ich find das immer schön, wenn der Designer was übernehmen kann und nicht noch mehr Zeilen im Code stehen.
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    Hab es umgestellt, leider ohne Erfolg... Er läd mir das Menü nicht, auch über den Designer versucht, ohne Erfolg.
    Ich werde es wohl einfach ohne "Zusatzmenü" am Icon machen... Ist kein wichtiges Kriterium...
    Aber erstmal vielen Dank für die Info. Das mit DoubleClick hab ich geändert.

    Grüße Stefan
    Nein! Doch! OHH!

    samson schrieb:

    Er läd mir das Menü nicht
    Vielleicht machst Du mal einen neuen Thread auf, der hier ist über 5 Jahre alt, den Ersteller hier interessiert das hier nicht.
    Was wird denn geladen statt des Menüs?
    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!

    RodFromGermany schrieb:

    Was wird denn geladen statt des Menüs?

    Das hat er ja weiter oben geschrieben (Post #4)

    Ich verstehe jedoch das Problem nicht ganz. Du nimmst auf die Form ein Notify Icon und einen ContextMenuStrip. Und in den Eigenschaften des Notify Icons stellst du (im Designer) den ContextMenuStrip als Kontextmenü ein - und fertig.