在WinForm应用程序中模拟Ajax加载器

3
我有一个Winform应用程序,它会根据用户的选择呈现几个图表。我想模拟Ajax样式的加载器,这样当用户进行选择时,表单上会出现一个覆盖层,并在中心显示动画。有哪些选项可以实现这一点?我考虑加载一个带有动画(gif)的面板,并添加一些不透明度。
编辑~有人可以帮忙吗?
编辑~这里是我找到的解决方案...终于!没有WPF的烦恼。
3个回答

0

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

1)黑客手段!创建一个新的无模式、无边框窗体,包含您的等待控件,并将其放在现有窗体上方。据我所知,您不能为任何开箱即用的WinForms控件分配透明度。确保当您现有的窗体移动时,您的新窗体也会移动。这是一种完全的黑客手段。

2)从头开始创建自己的WinForms控件,并使其覆盖现有的窗体。成本高,回报比低。

3)使用WPF来创建此表单,这将允许您拥有更多的灵活性。这是一个全新的框架...只为了一个表格?

4)暂时隐藏图表,只需使您的进度面板看起来非常漂亮即可。


0

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

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

要创建叠加层,我建议尝试黑色面板,它将覆盖整个窗体并具有一定的透明度值。但在Windows XP以下的任何版本上都无法工作。如果我没记错的话,Windows 2000及更低版本无法处理Winforms中的透明度。


2
实际上,WinForms PictureBox 可以完美处理动态 GIF。 - SLaks

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接