С# - Прозрачная форма
В настоящее время у меня есть Форма со всеми желаемыми эффектами, кроме одного. Текущая форма состоит из майнипа в верхней части с панелью под ней, которая содержит метки и графические ящики. Когда форма запускается, menustrip не отображается, он становится видимым только тогда, когда пользователь нажимает кнопку "Alt" и исчезает тем же способом.
На панели будет фоновое изображение с прозрачным фоном (.PNG). Это изображение станет основным макетом формы, так как я установил borderstyle равным ни одному. Теперь проблема в том, что форма по-прежнему имеет белый/сероватый фон под панелью.
Теперь мой вопрос заключается в том, как сделать форму прозрачной, поэтому изображение на панели становится основным макетом, а не просто изображением с образами к ним под ним. Я не хочу использовать свойство Opacity, поскольку я хочу, чтобы панель была видимой на 100%.
Ответы
Ответ 1
Предполагая WinForms.
Вы можете сделать это, но вы не можете сделать края полупрозрачными.
Попробуйте это.
В форме задайте следующие свойства:
BackColor = Color.Lime;
TransparencyKey = Color.Lime;
Это сделает форму прозрачной. Затем установите backgroundimage:
BackgroundImage = myImage:
Также будут прозрачными части изображения, также Color.Lime
.
Если вы также хотите избавиться от границ Forms
, добавьте также эту строку:
FormBorderStyle = FormBorderStyle.None;
Ответ 2
Будьте осторожны, когда вы выберете backcolor. Выделите Backcolor, чтобы отличаться от вашего текста, изображений и любого цвета управления, что означает, выбрать цвет, который вы никогда не собираетесь использовать в своей форме, и я думаю, что Fuchsia/lime будет лучшим выбором. Для выбора кода заднего плана ниже:
this.BackColor = Color.Fuchsia;
а затем Сделайте этот цвет прозрачным с помощью этих кодов:
TransparencyKey = Color.Fuchsia;