Как я могу изменить цвет границы и размер TabControl? - PullRequest
5 голосов
/ 22 февраля 2011

Как я могу изменить размер / стиль / цвет рамки моего TabControl, чтобы он гармонировал с цветом фона моей формы?

Мне не удалось найти какое-либо свойство для этого в Visual Studio. Возможно ли это?

Ответы [ 3 ]

6 голосов
/ 22 февраля 2011

TabControl не ожидает размещения на цветном фоне. По краям вы видите стандартный цвет, используемый для трехмерных элементов управления. Обычно вы бы этого не заметили, если бы не изменили цвет фона формы. По умолчанию они одного цвета.

Я не знаю ни одного хорошего способа исправить это. TabControl не предоставляет огромного количества встроенных опций для настройки его внешнего вида. Тебе придётся самому нарисовать владельца и покрасить его в собственный цвет.

Посетите эту страницу , чтобы ознакомиться с некоторыми другими вариантами и примером кода. Я подозреваю, что Полностью OwnerDraw TabControl - это то, что вам нужно; используйте предоставленный код и настройте его по своему вкусу. Будьте благодарны, что кто-то другой уже сделал всю работу за вас, потому что реализовать это самостоятельно нетривиально.

Также обратите внимание, что изменение DrawMode на «OwnerDrawFixed» отключит темы. Ваше управление будет выглядеть так, как будто оно пришло прямо из Windows 95, вместо того, чтобы рисовать в стилях темы Luna или Aero. Ничего страшного, если вы полностью настраиваете, как он окрашен, но боль в задней части, если все, что вам нужно, это изменить цвет фона.

0 голосов
/ 16 марта 2019

если вы пытаетесь скрыть границы и смешать их с фоновым цветом формы, поместите TabControl в контейнер, подобный элементу управления «Панель», и сделайте размер TabConrol больше, чем размер элемента управления Panel, но это будет охватывать вкладкиКнопки также, и для этой проблемы вы можете добавить кнопку для каждой вкладки и установить событие нажатия кнопки, чтобы изменить свойство SelectedTab TabControl.Примечание: вы можете сохранить TabControl в месте, где вы можете изменить вкладку во время разработки, а затем добавить небольшой следующий код в событие Load формы, чтобы скрыть кнопки вкладок во время выполнения:

Private Sub Form_Load(sender As Object, e As EventArgs) Handles Me.Load

TabControl.ItemSize = New Size(0, 1)
TabControl.SizeMode = TabSizeMode.Fixed

End Sub
0 голосов
/ 22 февраля 2011
Me.TabPage1.BackColor = Color.Blue

Попробуйте, это будет полезно для вас.

...