Прозрачный LinkLabel поверх TabControl - PullRequest
0 голосов
/ 11 августа 2009

Я хотел бы поместить LinkLabel с прозрачным фоном поверх TabControl. Вкладка управления не имеет вкладки.

Поскольку невозможно добавить элементы управления, кроме TabPages, к TabControl, то я делаю это, добавляя LinkLabel к элементу управления, содержащему TabCOntrol, а затем использую BringToFront на LinkLabel. Это отобразит его поверх TabControl.

Проблема: LinkLabel отображается прозрачным (свойство BackColor), но вместо того, чтобы отображать цвет TabControl в качестве фона, он отображает цвет фона своего родителя, элемента управления, который также содержит TabControl. Из того, что я понимаю, это нормальное поведение, так как прозрачный BackColor означает, что он просто примет цвет родителя.

Вопрос: Есть ли какое-либо решение для отображения моего LinkLabel с цветом фона TabControl?

Спасибо

Ответы [ 2 ]

1 голос
/ 11 августа 2009

Я могу ошибаться в этом, но я думаю, что если вы измените свойство BackColor LinkLabel в коде (например, в событии Load вашей формы, а не просто установите его в конструкторе), чтобы оно соответствовало цвету вашего TabControl, будет работать так, как вы хотите.

0 голосов
/ 13 августа 2009

Спасибо за ваши ответы. Теперь я понимаю, что вы имели в виду.

Использование вкладки Control BackColor не будет работать, потому что это свойство всегда возвращает ColorSystemColors.Control, который является сероватым. Однако при использовании визуальных стилей (например, тема по умолчанию в XP) задний цвет TabControl является белым. Я также не могу использовать белый, так как элемент управления вкладками не чистый белый, а градиентный белый ...

...