我有一个winform应用程序,根据用户选择呈现几个图表。我想模拟一个ajax样式加载器,这样当用户进行选择时,表单上会有一个叠加层,中心有一个动画。完成此任务有哪些选择?我正在考虑在中心加载一个动画(gif)的面板,添加一些不透明度。
编辑〜任何人?
编辑〜Here是我找到的解决方案......终于!没有WPF的废话。
答案 0 :(得分:0)
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已经说过这些是完全可定制的装载机: