Отображать только изображение с прозрачностью в форме Windows?

Я пытаюсь сделать форму в моей программе Windows Forms без полей, невидимой и иметь в ней элемент управления PictureBox. Изображение PictureBox настроено на PNG с альфа-каналом, чтобы придать ему прозрачный фон.

Я хочу, чтобы форма была полностью невидимой, но я хочу, чтобы PNG с правильной прозрачностью все еще был виден.

Это будет только для Windows 7 с включенной темой Aero, поэтому я могу использовать любые ярлыки, которые Areo может мне позволить.

Я попытался использовать ключ прозрачности для формы следующим образом:

this.TransparencyKey = Color.Turquoise;
this.BackColor = Color.Turquoise;

Это ПОЧТИ работает, за исключением того, что части PNG, которые не являются прозрачными на 100%, захватывают бирюзу и придают PNG уродливый бирюзовый ореол вокруг него.

РЕДАКТИРОВАТЬ: я нашел эту статью, которая звучит так, как будто это то, что я м ищу, но не вдаюсь в подробности реализации. Будет ли это работать для меня? Как мне это сделать?


person Kyle V.    schedule 04.03.2013    source источник
comment
возможный дубликат заставки с прозрачностью/непрозрачностью альфа-каналов в WinForms   -  person Hans Passant    schedule 04.03.2013
comment
@HansPassant Спасибо, но мне интересно узнать, есть ли более простой способ сделать это. Я попробую это решение в крайнем случае.   -  person Kyle V.    schedule 04.03.2013


Ответы (1)


Я нашел решение в этом исходном коде здесь:

http://www.codeproject.com/Articles/29184/A-lovely-goldfish-desktop-pet-using-alpha-PNG-and

person Kyle V.    schedule 05.03.2013