在winform app中模拟ajax加载器

时间:2009-01-31 18:27:47

标签: .net winforms animation swfloader

我有一个winform应用程序,根据用户选择呈现几个图表。我想模拟一个ajax样式加载器,这样当用户进行选择时,表单上会有一个叠加层,中心有一个动画。完成此任务有哪些选择?我正在考虑在中心加载一个动画(gif)的面板,添加一些不透明度。

编辑〜任何人?

编辑〜Here是我找到的解决方案......终于!没有WPF的废话。

3 个答案:

答案 0 :(得分:0)

对于这种事情,WinForms相当弱 - WPF处理这样的情况要好得多。你可以做几件事:

1) HACK!创建一个包含等待控件的新的无模式无边框表单,并将其放在现有表单上。 AFAIK您无法为任何开箱即用的WinForms控件分配透明度。确保在现有表单移动时,新表单移动。这完全是黑客攻击。

2)从头开始创建自己的WinForms控件并将其绘制在现有表单上。高成本回报率。

3)在此表单中使用WPF,这将为您提供更大的灵活性。这是一个全新的框架......仅适用于一种形式?

4)暂时隐藏图表,让你的进度面板看起来非常漂亮。

答案 1 :(得分:0)

WinForms的PictureBox控件无法处理GIF动画。

您仍然可以使用PictureBox,但可以自己翻阅框架。只需每50或100毫秒设置一次定时器,以保持图片框上的旋转帧。

要创建叠加层,我会尝试使用一些alpha值覆盖整个表单的黑色面板。但它不适用于低于Windows XP的任何东西。如果我没记错的话,Windows 2000及更低版本无法处理Winforms中的透明度。

答案 2 :(得分:0)

Saif已经说过这些是完全可定制的装载机:

http://www.codeproject.com/KB/cs/mrg_loadingcircle.aspx