Прозрачный фон для контроля - PullRequest
1 голос
/ 10 ноября 2009

Я разрабатываю приложение winforms (с использованием .NET 3.5)

В форме у меня есть элемент управления панели и элемент управления сеткой данных внутри него.

Я хочу иметь некоторый контроль (скажем, для простоты - метка) появится перед сеткой просмотра данных, и я хочу, чтобы эта метка была прозрачной - что означает: я хочу видеть данные, отображаемые в виде сетки позади.

Я просто хочу увидеть текст, который находится в метке, но не весь прямоугольник ... и за этим текстом - чтобы увидеть данные, которые у меня есть в виде сетки.

Проблема заключается в следующем: родительский элемент управления метки не является сеткой. (так как это не контейнерный элемент управления). Родителем метки является панель управления.

Поэтому, когда я устанавливаю метку прозрачной ... Я на самом деле получаю прозрачность для панели, а не для сетки данных.

Ответы [ 2 ]

5 голосов
/ 10 ноября 2009

Ознакомьтесь с этой статьей CodeProject: Как использовать прозрачные изображения и метки в Windows Forms

Кроме того, вы всегда можете использовать GDI (System.Drawing) и просто рисовать то, что вы хотите прямо на прозрачной панели?

1 голос
/ 10 ноября 2009

Установите панель также прозрачной. Это не должно вызывать проблем с панелью, так как за ней все равно будет форма.

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

...