2011-06-08 181 views
1

如何在窗體上繪製加載圓形(動畫)?是否有可能使它變得大而透明,以便表單上的基礎文本仍然可見。在窗體上繪製加載圓形

顯示一個gif不是我尋找的一種解決方案。

Thx。

+0

請讓我知道是否有問題的第二部分的解決方案,「如果表單中充滿網格或按鈕或文本框,我們如何確保一致性?」像這樣,在當前表單上繪製這一層,這樣底層的所有東西都可見? – rplusg 2011-06-08 18:13:46

回答

2

是的 - 您可以使用Graphics.DrawEllipse(對於一個或多個圓圈,取決於您嘗試實現的確切UI效果),使用具有非透明α值的筆進行此操作。

+0

我不明白我們如何使用此函數調用繪製動畫加載圓。裝載圓 例如: http://www.google.com/search?q=loading+circle&hl=en&rlz=1C1GPCK_enIN400&prmd=ivns&tbm=isch&tbo=u&source=univ&sa=X&ei=pnTvTdn5CITtrQfJzs3NBQ&ved=0CCMQsAQ&biw=1280&bih=675 – rplusg 2011-06-08 13:10:28

+0

Graphics.DrawEllipse是繪製單個圓的原始圖片,您可以使用Alpha值調整透明度。您可以繪製這些每次更新的「圓環」(使用基本圓繪圖邏輯,例如逐步迭代2 * pi弧度,並使用cos(t)* radius,sin(t)* radius來查找橢圓中心)。要進行動畫製作,您需要定期執行此操作,無論是在進度回調期間還是計時器期間。這裏有一些關於該步驟的更多信息:http://stackoverflow.com/questions/11318/simple-animation-in-winforms – holtavolt 2011-06-08 13:25:46

+0

下面是關於GDI +中alpha混合(不透明)的MSDN頁面 - 正如您可以通過圖像看到的那樣可以使圖形元素似乎通過使用此功能「淡出」:http://msdn.microsoft.com/en-us/library/ms533803(v=VS.85).aspx – holtavolt 2011-06-08 17:48:16