TabControl с текущим треугольником вкладки - PullRequest
0 голосов
/ 13 сентября 2018

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

enter image description here

Код делаетчертеж

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 Ответ

0 голосов
/ 13 сентября 2018

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

 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)}
...