Изменение прозрачности формы без изменения прозрачности содержащихся элементов управления - PullRequest
4 голосов
/ 07 октября 2008

Возможно ли с Windows Forms в .NET изменить непрозрачность формы без автоматического изменения непрозрачности элементов управления в форме?

У меня есть форма, которая работает в развернутом виде, которая содержит Flowlayoutpanel в центре формы с элементами управления внутри нее. Я хотел бы уменьшить непрозрачность формы, чтобы «запасная» часть вокруг панели Flowlayout была частично прозрачной, но сама панель Flowlayoutpanel остается сплошной (я нацелена на эффект стиля lightbox ).

Ответы [ 3 ]

2 голосов
/ 09 октября 2008

Конечно, это возможно в WPF путем установки прозрачного фона формы (в отличие от установки непрозрачности на 0, что в основном устанавливает прозрачность как на переднем плане, так и на фоне).

Если вы действительно хотите, я не понимаю, почему вы не можете встроить компонент winforms в прозрачную форму wpf, используя WindowsFormsHost.

1 голос
/ 14 июля 2011

Свойство Form.TransparencyKey

Когда свойству TransparencyKey назначается цвет, области формы, имеющие одинаковый BackColor, будут отображаться прозрачно.

Если цвет, назначенный свойству TransparencyKey, совпадает с любым элементом управления в форме, они также будут отображаться прозрачно. Например, если в форме элемента управления Button есть свойство TransparencyKey, для которого установлено значение SystemColors.Control, элемент управления будет отображаться прозрачно, если только свойство BackColor элемента управления Button не будет изменено на другой цвет.

0 голосов
/ 07 октября 2008

К сожалению, Opacity является свойством Form, а не Control. Единственный способ, которым я могу себе представить, это было бы возможно, если бы вы самостоятельно нарисовали форму и использовали альфа-компонент в кисти, используемой для рисования фона формы.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...