Подключение обработчиков событий на пользовательском элементе управления vb.net - PullRequest
0 голосов
/ 28 июля 2011

Я пытался использовать этот код в виде:

AddHandler MyControl.MouseDown, AddressOf StartDrag

Это не выдаст мне ошибку, но ничего не произойдет, когда я нажимаю на Control.

то же самое не сработает, если я добавлю его в пользовательский элемент управления.

    Private Sub StartDrag(ByVal sender As Object, ByVal e As MouseEventArgs)
    Dim Box = CType(sender, Control)
    Box.Tag = New DragInfo(Form.MousePosition, Box.Location)
    End Sub

Ответы [ 2 ]

1 голос
/ 28 июля 2011

Я только что создал пользовательский элемент управления и добавил его в форму.Вот мой код:

Public Class Form1

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            AddHandler UserControl1.MouseDown, AddressOf OnMouseDown
        End Sub

        Private Sub OnMouseDown (ByVal sender As Object, ByVal e As MouseEventArgs)
            MessageBox.Show("sdasd")
        End Sub
End Class

Это отлично работает - окно сообщения появляется на экране, когда я нажимаю кнопку мыши вниз.У меня вообще нет кода, работающего в пользовательском элементе управления, поэтому не нужно беспокоиться о необходимости вызывать RaiseEvent.

0 голосов
/ 28 июля 2011

Глупый вопрос, но выполняется ли эта строка кода? Выглядит ли StartDrag так:

Private Sub StartDrag(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)

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