Само собой разумеется, мой GooglFu сегодня слаб.
У меня есть небольшая WinForm с асимметричным изображением на заднем плане. Чтобы приспособить это изображение, сама форма немного больше, чем само изображение.
У меня установлен цвет фона форм LightSalmon, а также TransparencyKey формы.
Я не думаю, что абсолютно необходимо публиковать код (я думаю, что он пришел из CodeProject), который делает это немного, но, на всякий случай, я также включил его.
FadeIn:
private void opTimer_Tick(object sender, EventArgs e)
{
if (opacityIncrease > 0)
{
if (this.Opacity < 1)
this.Opacity += opacityIncrease;
}
else
{
if (this.Opacity > 0)
this.Opacity += opacityIncrease;
else
this.Close();
}
}
FadeOut (вызывается при событии formClosing)
public void FadeForm()
{
opacityIncrease = -opacityDecrease;
}
Код работает так, как должен, но проблема заключается в том, что форма исчезает и исчезает. Когда форма исчезает, я вижу фон форм, этот ужасный LightSalmon. Как только форма достигает полной непрозрачности, фон становится полностью прозрачным.
Есть ли способ сохранить цвет TransparencyKey (фон форм), ну и как же прозрачный во время появления / исчезновения?
Самым простым решением было бы заменить фоновое изображение формы на то, которое соответствует форме, не беспокоясь обо всем бизнесе TransparencyKey, но мне скорее нравится изображение, которое я использую, но это, безусловно, не ShowStopper для измени его на что-нибудь другое.
Использование VS2008, .NET 3.5
Как всегда, с удовольствием отвечу на любые дополнительные вопросы, если это необходимо.
Спасибо.