有没有一个类似于“旋转轮”控件可供Windows Forms免费使用?

9
我们都使用过ProgressBar控件,它很棒。
但有时候,你想向用户指示正在进行的工作,即使你无法确定工作完成的百分比或需要多长时间才能完成。
在一些操作系统上,你可以设置Style = ProgressBarStyle.Marquee;但这不支持例如Windows Server 2008。
是否有任何类型的“旋转轮”控件(如this)可供免费使用(也许在CodeProject, CodePlex, SourceForge或其他地方)以满足这种需求?

实际上,它不一定是一个轮子 -- 任何能够适当传达信息“正在进行工作 -- 不用担心”的控件都可以。


1
不太确定在服务器上消耗循环以保持UI小部件更新是否有意义。老式的沙漏光标可以便宜地完成工作。 - Hans Passant
1
@Hans:我正在开发一个Windows Forms应用程序。我不认为这会否定你的观点,但我确实认为对于Windows Forms应用程序,人们期望只要有一些工作正在进行,用户就应该知道并得到保证进展正在取得(而不是应用程序只是冻结了)。 - Dan Tao
哎呀,这只是一种错觉,不是吗?要让跑马灯持续运行,必须在一个线程上进行工作。即使线程被冻结,跑马灯也会继续不停地运行。 - Hans Passant
@Hans,有很多情况,例如Windows 2008服务器可能是一个终端服务器,用户远程登录以运行您的应用程序,因此这可能是完全合理的。 - rayzinnz
6个回答

11

如果您只想显示GIF或动画图像:

http://www.ajaxload.info/

可以通过使用Image类提取GIF的帧,并根据需要进行绘制,在用户控件中完成此操作。


我使用了你建议的网站制作了这个图像,并使用 WpfAnimatedGif NuGet 包 (http://wpfanimatedgif.codeplex.com/) 将其实现到我的代码中。整个过程不到5分钟! :D - SaiyanGirl

5

我使用了来自Code Project的进度指示器。虽然不像其他一些那么花哨,但它确实能胜任工作。


我不喜欢花哨的控件 ;) - Dan Tao

3

Sacha Barber在http://sachabarbs.wordpress.com/2009/12/29/better-wpf-circular-progress-bar/更新了圆形进度条 - 对我非常有用。 - Conrad

2

2

0

你应该能够在WinForms窗口上使用WPF的进度条。而且那个进度条支持Server 2008 R2上的Marquee。


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