2013-02-06 64 views
2

我正在嘗試爲控件(面板)塊創建分解動畫。我確實有一個面板,只有幾個標籤和幾個純色背景上的圖片框(石灰)。我試圖讓這個面板溶解(與所有標籤和圖片)到石灰背景。任何想法如何完成?我願意接受任何建議。謝謝。C# - Windows窗體,爲面板控制分解動畫

+0

您需要哪些幫助?你想擺脫你正在消失的組件嗎?或者你只是想隱藏它們嗎?這是父對象對孩子做的事情還是對象對自己做的事情? –

+0

我只想隱藏面板和麪板內的所有組件。如果面板具有不透明度屬性,我只需創建一個計時器來降低不透明度值。 – Safiron

回答

0

不幸的是,控件中沒有Opacity屬性,比如Forms.Panel。 該想到仿效它的唯一辦法,就是要逐步改變背景色的控制之一,以便具有alpha通道設定值(例如,使用定時器):

int opacity = 25; 

myPanel.BackColor = Color.FromArgb(opacity, myPanel.BackColor); 
myLabel.BackColor = Color.FromArgb(opacity, myLabel.BackColor); 

不幸的是,某些控制將不會反應如預期的那樣(例如Button)。 此外,更改ForeColor並不那麼容易(重寫OnPaint方法的鏤空控件可能在某些情況下有效)

+0

謝謝,但如果面板有背景圖像呢? – Safiron

+0

窗體確實有影響其子項的不透明屬性。您可以嘗試在彼此頂部堆疊表單,而不是使用Panel,並使其「像表面」一樣成爲Panel。以下是一些示例:http://social.msdn.microsoft.com/forums/en-US/winforms/thread/3087655c-bd50-4408-9c55-dd179e442675/ – Arie