Обработчики событий передают отправителя, который не был создан - PullRequest
0 голосов
/ 23 ноября 2010

Я создаю кнопки на лету и создаю для них обработчики событий. Когда код запускается, все работает хорошо, если заполнять меню на лету успешно. Когда я нажимаю кнопку, событие запускается, но отправитель = Ничего, и Объект не установлен в исключение экземпляра. Есть идеи? Должно быть чего-то не хватает.

Imports DevExpress.XtraBars.Ribbon

Public Class Form1

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim menu As New RibbonControl
        Dim aPage As New RibbonPage("Nicks Page")
        'groups'
        Dim aGroup1 As New RibbonPageGroup("1st Group")

        'ADD BUTTONS TO RIBBON GROUP HERE'
        Dim i As New DevExpress.XtraBars.BarButtonItem()
        i.Caption = "Nicks Button"
        AddHandler i.ItemClick, AddressOf y
        aGroup1.ItemLinks.Add(i)

        Dim i2 As New DevExpress.XtraBars.BarButtonItem()
        i2.Caption = "Nicks Other Button"
        AddHandler i2.ItemClick, AddressOf y
        aGroup1.ItemLinks.Add(i2)

        aPage.Groups.Add(aGroup1)
        menu.Pages.Add(aPage)
        Me.Controls.Add(menu)
    End Sub

    Private Sub y(ByVal sender As System.Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs)
        'EXCEPTION SENDER=NOTHING MSGBOX FAILS'
        MsgBox(CType(sender, DevExpress.XtraBars.BarButtonItem).Caption)
    End Sub
End Class

1 Ответ

1 голос
/ 23 ноября 2010

Отправитель - это BarManager. Вместо этого используйте e.Item.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...