Удаление TabPage как в QIP

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Angerslave
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.10.2006 (Пн) 9:29
Откуда: Омск

Удаление TabPage как в QIP

Сообщение Angerslave » 05.12.2006 (Вт) 17:27

Хочу сделать удаление вкладок как в QIP. То есть кликаешь средней кнопкой на табе и она удаляется. Нашёл как удалять таб, но вот есть проблема: удаляет активный на текущий момент. А когда кликаю на какой-нить соседний, то удаляет всё равно текущий. Потом подумал и придумал что нужно вызывать ивент у табконтрола, но из своей формы я это сделать не могу. Не подскажите как быть?

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 05.12.2006 (Вт) 18:59

из формы можешь :roll:
raiseevent

Angerslave
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.10.2006 (Пн) 9:29
Откуда: Омск

Сообщение Angerslave » 05.12.2006 (Вт) 20:27

Ramzes, предыдущий ответ мне помог, правда немного не, что я хотел, но всё же решение. raiseevent не работает, пишет мол хочу увидеть ивент формы, а не какого-то мифического табконтрола. Сделал UserControl на основе табконтрола, там попробовал riseevent - тоже пишет мол не нравится. Попробовал вызывать OnClick перед тем как удалить активный таб - всё равно не пашет, удаляет активный до нажатия таб :(

mad_Max
Бывалый
Бывалый
 
Сообщения: 203
Зарегистрирован: 15.09.2002 (Вс) 21:17
Откуда: Russia, Cherepovets

Сообщение mad_Max » 05.12.2006 (Вт) 21:59

Повесь обработчик на MouseDown TabControl'а (не TabPage)
Код: Выделить всё
    Private Sub TabControl1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TabControl1.MouseDown
        If e.Button = Windows.Forms.MouseButtons.Middle Then
            Dim i As Integer
            For i = 0 To TabControl1.TabCount
                If TabControl1.GetTabRect(i).Contains(e.X, e.Y) Then
                    TabControl1.TabPages.RemoveAt(i)
                    Return
                End If
            Next
        End If
    End Sub

Angerslave
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.10.2006 (Пн) 9:29
Откуда: Омск

Сообщение Angerslave » 06.12.2006 (Ср) 8:15

mad_Max, спасибо огромное, до такого решения я бы не допёр :D Ибо знаний маловато...


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54

    TopList