TabControl с текущим треугольником вкладки

Мне нужно изменить этот tabcontrol, который я нашел онлайн, если я изменю высоту элемента, triable не корректируется должным образом

введите описание изображения здесь

Код, выполняющий рисование

G.SmoothingMode = SmoothingMode.HighQuality
                Dim p() As Point = {New Point(ItemSize.Height - 3, GetTabRect(i).Location.Y + 20), _
                           New Point(ItemSize.Height + 4, GetTabRect(i).Location.Y + 14), _
                           New Point(ItemSize.Height + 4, GetTabRect(i).Location.Y + 28)}
     G.FillPolygon(Brushes.White, p)
     G.DrawPolygon(New Pen(Color.FromArgb(170, 187, 204)), p)

Я внес коррективы в линию New Point(ItemSize.Height + 4, GetTabRect(i).Location.Y + 14) безуспешно.

Мне нужно, чтобы треугольник был больше и центрирован в прямоугольнике вкладки, если размер отрегулирован, скажем, на 3 пункта.

Есть идеи

1 ответ

Решение

Я смог найти решение после дальнейшей обработки

 Dim hlf As Integer = GetTabRect(i).Height \ 2
G.SmoothingMode = SmoothingMode.HighQuality
            Dim p() As Point = {New Point(ItemSize.Height - 6, GetTabRect(i).Location.Y + hlf), _
      New Point(ItemSize.Height + 4, GetTabRect(i).Location.Y + hlf - 7), _
      New Point(ItemSize.Height + 4, GetTabRect(i).Location.Y + hlf + 7)}
Другие вопросы по тегам