vb.NET Перетаскивание между двумя вкладками в одном tabcontrol

#vb.net #drag-and-drop #tabcontrol #tabpage

#vb.net #перетаскивание #tabcontrol #страница вкладки

Вопрос:

У меня есть два datagridviews, и я перетаскиваю между ними. Но теперь я должен поместить их на две вкладки в одном tabcontrol. Страницы должны меняться во время перетаскивания, когда я перемещаю мышь к нужному заголовку страницы, когда левая кнопка нажата. Как я могу сделать? Спасибо

Комментарии:

1. Вам нужно событие GiveFeedback. Управление. Положение мыши указывает, где находится мышь, TabControl. PointToClient() указывает вам его положение относительно вкладок. Повторите вкладки, сравните с их GetTabRect(), чтобы увидеть, зависает ли вкладка.

Ответ №1:

Спасибо за воспроизведение! Это мой код:

 Private Sub DataGridView1_GiveFeedback(sender As Object, e As GiveFeedbackEventArgs) Handles DataGridView1.GiveFeedback
        Dim position As Point = TabControl1.PointToClient(Control.MousePosition)
        For id As Integer = 0 To TabControl1.TabCount - 1
            If TabControl1.GetTabRect(id).Contains(position) Then
                TabControl1.SelectedIndex = id
                Exit For
            End If
        Next
    End Sub
  

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