Outlook Addin per VisualStudio - Button Eventhandler

  • Outlook

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

    Outlook Addin per VisualStudio - Button Eventhandler

    Hallo zusammen,
    ich wühle mich seit Tagen durch das Internet und bekomme quasi immer die gleichen Code-Schnipsel, um folgendes zu tun. Ich möchte in VisualStudio ein OutlookAddin programmieren, welches "viele" Button in einer Menüstruktur erzeugt und beim Anklicken eines Button ein Unterprogramm ausführt.

    Ich scheitere am Eventhandler, da dieser immer nur beim zuletzt hinzugefügten Button funktioniert :(
    Nur beim Klick auf den Button "zeichen3" kommt die Msgbox, warum nicht bei den anderen?
    Unten der gesamte Code aus VisualStudio (15.0), Ausführung erfolgt in Outlook (16.0, 32bit)
    Vielen Dank für eure Hilfe
    Holger

    Visual Basic-Quellcode

    1. Public Class ThisAddIn
    2. Dim ButtonControl As Office.CommandBarButton
    3. Dim menuBar As Office.CommandBar
    4. Dim newMenuBar As Office.CommandBarPopup
    5. Private Sub ThisAddIn_Startup() Handles Me.Startup
    6. Dim i As Integer
    7. menuBar = Me.Application.ActiveExplorer().CommandBars.ActiveMenuBar
    8. newMenuBar = menuBar.Controls.Add(Office.MsoControlType.msoControlPopup, Temporary:=True)
    9. If newMenuBar IsNot Nothing Then
    10. newMenuBar.Caption = "Mailverschiebung"
    11. For i = 0 To 3
    12. ButtonControl = newMenuBar.Controls.Add
    13. ButtonControl.Caption = "zeichen" & i
    14. ButtonControl.Tag = "zeichen" & i
    15. AddHandler ButtonControl.Click, AddressOf ButtonControl_Click
    16. Next
    17. End If
    18. End Sub
    19. Sub ButtonControl_Click()
    20. MsgBox("Läuft")
    21. End Sub
    22. Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown
    23. End Sub
    24. End Class
    Hallo

    Also die Zeile 15???

    Das kann doch so nicht passen?
    Du arbeitest wohl immer mit der selben Instanz eines Buttons.
    Probier doch bitte folgendes:

    VB.NET-Quellcode

    1. For i = 0 To 3
    2. Dim tempButton As New Office.CommandBarButton
    3. tempButton.Caption = "zeichen" & i
    4. tempButton.Tag = "zeichen" & i
    5. AddHandler tempButton.Click, AddressOf ButtonControl_Click
    6. newMenuBar.Controls.Add(tempButton)
    7. Next


    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##