Ergebnis 1 bis 10 von 10
  1. #1
    Trojaner
    Registriert seit
    12.08.2008
    Beiträge
    88

    Standard [VB.net] NotifyIcon Hilfe

    Hi leute,
    ich hab jetzt mal ein Tray butten gemacht funktioniert auch alles. hab da dann ein kontextmenü angefügt.
    jetzt is aber meine frage wie les ich das kontextmenü vom tray aus?

    Code:
    Private Sub hide1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles hide1.Click
            ContextMenuHide.MenuItems.Add("Show")
            ContextMenuHide.MenuItems.Add("Play")
            ContextMenuHide.MenuItems.Add("Pause")
            ContextMenuHide.MenuItems.Add("Stop")
            ContextMenuHide.MenuItems.Add("Exit")
    
            Me.ShowInTaskbar = True
            Me.NotifyIcon1.Visible = True
            Me.Hide()
            Me.NotifyIcon1.ContextMenu = ContextMenuHide
    End Sub
    Hoffe mal ihr könnt mir helfen
    danke im vorraus
    MFG
    jojox

  2. #2
    Bugbear Wurm
    Registriert seit
    06.07.2009
    Beiträge
    236

    Standard

    http://msdn.microsoft.com/de-de/library/1z23t178.aspx Wenn du das so machst wird es jedesmal angezeigt, wenn du mit der Maus drübergehst ;-)

  3. #3
    Trojaner
    Registriert seit
    12.08.2008
    Beiträge
    88

    Standard

    wie ich es erstel is mir klar aber ich versteh nciht ganz wie ich das auslesen sol also wenn ich dann Exit drück wie muss ich das machen das dan "End" ausgeführt wird?

  4. #4

    Standard

    Füg die items in der IDE hinzu und nicht in der laufzeit.
    Dann kannst du ganz einfach auf die context items doppelklicken für das click event.

  5. #5
    Trojaner
    Registriert seit
    12.08.2008
    Beiträge
    88

    Standard

    kannst du genau erkläre was du meinst versteh das nciht ganz.
    und wie kan ich auslesen was angeklicktwurde?
    NotifyIcon1.ContextMenu.xxxxxxx?oder geht das so nicht?

  6. #6
    W32.SwineFlu Avatar von Sirect
    Registriert seit
    24.07.2008
    Beiträge
    1.916

    Standard

    Füg die items in der IDE hinzu und nicht in der laufzeit.
    Ist aber ansonsten immer schlauer das in der Laufzeit zu machen.
    Wenn man den Tray nicht nutzt muss man auch nicht den Speicher belasten. Du kannst per "Handles" auch Events zuweisen wenn die Objekte zur Laufzeit deklariert werden.

  7. #7
    Anfänger
    Registriert seit
    24.11.2008
    Beiträge
    23

    Standard

    2 Optionen:
    Die Items per "Withevents" deklarieren, dann hast du zu jedem Item dein Klick event.
    Oder die Per Addhandler das Clickevent zu jedem Item hinzufügen.

  8. #8
    Trojaner
    Registriert seit
    12.08.2008
    Beiträge
    88

    Standard

    was wären jetz die einfachste art?

  9. #9
    Anfänger
    Registriert seit
    24.11.2008
    Beiträge
    23

    Standard

    Ist Geschmackssache, hab dir mal jeweils ein Beispiel gemacht:
    Addhandler:
    Code:
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim ContextMenuHide As New ContextMenuStrip
            Dim Item1 As New ToolStripMenuItem
            Item1.Text = "Beenden"
            ContextMenuHide.Items.Add(Item1)
            AddHandler Item1.Click, AddressOf Item1_Click
    
    
            Me.WindowState = FormWindowState.Minimized
            Me.ShowInTaskbar = False
            Me.NotifyIcon1.Visible = True
            NotifyIcon1.Icon = Me.Icon
            Me.NotifyIcon1.ContextMenuStrip = ContextMenuHide
        End Sub
        Private Sub Item1_Click()
            Me.Close()
        End Sub
    Withevents
    Code:
    WithEvents Item1 As New ToolStripMenuItem
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim ContextMenuHide As New ContextMenuStrip
            Item1.Text = "Beenden"
            ContextMenuHide.Items.Add(Item1)
    
            Me.WindowState = FormWindowState.Minimized
            Me.ShowInTaskbar = False
            Me.NotifyIcon1.Visible = True
            NotifyIcon1.Icon = Me.Icon
            Me.NotifyIcon1.ContextMenuStrip = ContextMenuHide
        End Sub
        Private Sub Item1_Click() Handles Item1.Click
            Me.Close()
        End Sub
    Das Withevents hat den Vorteil, das direkt alle Events vorhanden sind. Bei Addhandler musst du das ganze für jedes Event machen, dass du brauchst.

  10. #10
    Trojaner
    Registriert seit
    12.08.2008
    Beiträge
    88

    Standard

    vielen dnak habs mit Withevent gemacht hat prima geklapt dank deinem Bsp

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •