Я хочу создать виджет на рабочем столе без границ с полупрозрачным фоном в WF. Как это:C# WF Полупрозрачная форма
Но не повезло на данный момент. Все я могу достичь полна прозрачность фона с
this.BackColor = Color.Black;
this.TransparencyKey = this.BackColor;
Или всю форму с
this.Opacity = .4;
Некоторое время я также провести комбинированную TransparencyKey с BackgroundImage, но результат был просто сплошной черный фон.
Полностью отчаянный Я создал две формы, полностью прозрачные с текстом, а затем с непрозрачностью, но я не мог удержать первое окно выше во время движения, поэтому текст был затемнен.
Есть ли возможность сделать это в WF или мне нужно искать библиотеку окон QT или antoher.
Вы можете использовать слоистую Windows. Например, посмотрите на [Прозрачное фоновое изображение Windows Form] (http://stackoverflow.com/a/33531201/3110834) –
Обычно вам нужен сэндвич из двух окон. Нижний, используя Opacity и верхний, используя TransparencyKey. Но в целом неплохая идея отображать текст на непредсказуемом фоне. Стандартные эффекты сглаживания больше не работают должным образом и больше не смешивают форму буквы в фоновом режиме. Они становятся довольно заметными, и текст выглядит уродливым. Только правильный способ сделать это - создать скриншот с Graphics.CopyFromScreen(), изменить это растровое изображение кистью, которая имеет альфа <255, а затем нарисует текст поверх нее. Прекрасно работает на заставку. –
Hans i made sandwich, и шрифт выглядит нормально, но когда фон прозрачен, вы можете щелкнуть по окну и выбрать базовый, который в моем случае приносит фоновый слой вверх, над тусклым текстом. – Sajgoniarz