不用說,我的GooglFu今天很弱。透明色按鍵'顯示'淡入淡出期間
我有一個小的WinForm,它有背景,一個不對稱的圖像。爲了適應這個圖像,表單本身比圖像本身大一些。
我將窗體背景顏色設置爲LightSalmon以及窗體的TransparencyKey。
我不認爲完全有必要發佈這樣做的代碼(我認爲它來自CodeProject),但是,以防萬一,我也包括它。
的淡入:
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();
}
}
漸弱(叫上的FormClosing事件)
public void FadeForm()
{
opacityIncrease = -opacityDecrease;
}
代碼工作,因爲它應該,但是,當窗體淡入淡出問題所在。當表單淡入時,我可以看到表單背景,那可怕的LightSalmon。一旦表格達到完全不透明度,背景確實是完全透明的。
有沒有一種方法來保持TransparencyKey顏色(表單背景),好吧,在淡入/淡出過程中是透明的?
最簡單的解決方案是將表單背景圖像更改爲適合表單的圖像,而不必擔心整個TransparencyKey業務,但是,我更喜歡使用的圖像,但它當然不是ShowStopper把它改成別的東西。
使用VS2008,.NET 3.5
與往常一樣,高興,如果有必要回答任何後續問題。
謝謝。
在淡入淡出過程中,窗體的背景色會被報告爲什麼?如果它不是LightSalmon,那麼您是否可以將透明度顏色更新爲新的背景顏色,每個計時器都會打勾? – Xav
在整個FadeIn和FadeOut過程中,表單BackColor屬性保留在LightSalmon中。 – Jasoomian