2012-12-17 44 views
0

我正在開發一種面向webstream的infopanel程序,迄今爲止是由Windows Form,C#完成的,它具有標籤的面板。現在這很簡單,我在做什麼。目前它只是隱藏\顯示面板,在一個窗口中更改測試,但我需要創建一個轉換來將面板移出框架,並通過按下一個可以說30FPS的buttno來返回。我試圖谷歌這個解決方案,但到目前爲止,我只找到了解決方案,使用鼠標作爲向量X,Y點並用鼠標移動項目和一個圖書館在這裏: http://code.google.com/p/dot-net-transitions/平滑的面板移動

除庫沒有按」 t可以使用背景圖片和頂部標籤的面板。面板\標籤閃爍出來,以便背景在幾微秒內可見。我讀了創建一個計時器,計算每毫秒的位置,並將其移動到下一個點等創建FPS,但我不知道如何用面板做到這一點,因爲我再次不知道如何獲得面板x,y座標。現在是否有任何其他解決方案用於我正在創建的這個程序?不同的編程語言,一個庫,某種方式?有人建議C#和GDI,但我真的不知道如何工作,因爲它只是形狀,我想使用圖像。

+0

如果您對WinForms不太深入,可以考慮使用WPF。它對流暢的動畫有更好的支持。不過,如果你的背景只存在於WinForms中,它有一點學習曲線。 –

回答

0

WinForms使用GDI來繪製所有這些。這樣做有很多祕籍,但他們仍然不會給你你真正想要的表演。 WPF是解決這些問題的方法。它旨在處理完全這樣的事情,並做得很好。

WinForms + GDI只是普通的很慢,並不是真正爲這種事情設計的。您始終可以在WPF中構建控件並將其放入DLL中,然後將其加載到winforms項目中。這可能會讓你更接近你正在尋找的表現。

+0

非常感謝。我在不到5分鐘的時間內完成了WPF所需的程序。 Google搜索了一些東西,編寫了一些XAML Grid.Resources和Triggers,它的工作方式與我想要的一樣!現在我只需要創建一個控制面板和按鈕來控制這些動畫。 – Nookie

+0

搖滾!我很高興你能這麼快。做得好。 – jmrnet

1

您可以隱藏面板(可見= false)並將內容複製到位圖並進行動畫處理,而不是直接繪製到窗體的圖形對象。

所有(表單)控件都附帶.DrawToBitmap方法。 您可以使用事件來更新窗簾背後的位圖(標籤等TextChanged)。

使用GDI +有時需要一些奇怪的代碼用於動畫上下文。

雖然,我會建議一個更清潔的方法與不同的平臺(WPF或純C++代碼等)。