Изменение размера заголовков вкладок TabControl при смене шрифта - PullRequest
2 голосов
/ 08 декабря 2008

У меня есть приложение, которое изменяет шрифт каждого элемента управления на SegoeUI при запуске в Vista. Работает нормально, за исключением заголовков вкладок (кнопки, нажимаемые при переключении с одной вкладки на другую).

Заголовки страниц вкладок не растут вертикально, чтобы вместить больший размер шрифта, они всегда остаются на одной высоте.

Есть ли свойство, которое позволит TabControl обрабатывать это? (Я пробовал AutoSizeMode, но он имеет дело только с шириной вкладки)

Если нет, то как лучше всего программно изменить размер заголовков вкладок в зависимости от размера шрифта?

1 Ответ

4 голосов
/ 08 декабря 2008

В элементе управления вкладками есть свойство ItemSize, которое можно настроить для изменения размера самих вкладок. Также, чтобы помочь вам получить размер текста, есть метод MeasureString () в объекте Graphics, который вернет вам структуру SizeF с размером данного текста. Это может помочь вам определить, нужно ли вам изменить свойство ItemSize. Немного грубый код:

            Graphics g = this.tabControl1.TabPages[0].CreateGraphics();
            SizeF s = g.MeasureString(this.tabControl1.TabPages[0].Text, this.tabControl1.TabPages[0].Font);
...