2011-06-08 184 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