Вызов двойным щелчком мыши на оконном хосте (wpf) пользовательского элемента управления (winforms) - PullRequest
0 голосов
/ 03 мая 2019

Я создаю приложение wpf, но, похоже, не могу обработать события пользовательского элемента управления в mainwindow.axml. Я создаю хост windowsform и прекрасно загружаю содержимое (данные набора данных и т. Д.) Во время работы,но как я могу обработать события мыши или нажатия клавиш, я пытаюсь это.

в пользовательском элементе управления:

Public Event DOBLECLICK()
Public Sub sp1_CellDoubleClick(sender As Object, e As 
    FarPoint.Win.Spread.CellClickEventArgs) Handles sp1.CellDoubleClick
    RaiseEvent DOBLECLICK()
End Sub

в главном окне: я пытаюсь загрузить событие, но, похоже, неответить.

Private Sub WinFormsHost_MouseLeftButtonUp(sender As Object, e As 
    MouseButtonEventArgs) Handles WinFormsHost.MouseLeftButtonUp

    AddHandler host.sp1.CellDoubleClick, AddressOf host.sp1_CellDoubleClick

End Sub


Private Sub Control_MouseDoubleClick_1(sender As Object, e As MouseEventArgs)
    AddHandler host.sp1.CellDoubleClick, AddressOf host.sp1_CellDoubleClick
End Sub

1 Ответ

0 голосов
/ 03 мая 2019

В функции MainWindow_Loaded добавьте:

AddHandler host.sp1.CellDoubleClick, AddressOf host.sp1_CellDoubleClick

Затем создайте новую функцию в своем классе (она вызывается, когда вы дважды щелкаете по ячейке. После этого не используйте Handles, потому что вы уже добавили обработчик в свой MainWindow_Loaded):

Public Sub sp1_CellDoubleClick(sender As Object, e As FarPoint.Win.Spread.CellClickEventArgs)
    RaiseEvent DOBLECLICK()
End Sub

Функции WinFormsHost_MouseLeftButtonUp и Control_MouseDoubleClick_1 не нужны. Вы можете удалить их.

...