9

We've all used the ProgressBar control, and it's great.

Sometimes, though, you want to indicate to the user that work is being done, even though you can't determine what percentage of the work is finished or how long it will take to complete.

On some operating systems, you can set Style = ProgressBarStyle.Marquee; but this isn't supported on, e.g., Windows Server 2008.

Is there any type of "Spinning Wheel" control (like this) that is freely available (perhaps on CodeProject, CodePlex, SourceForge, or elsewhere) and fills this need?

It doesn't have to be a wheel, really -- any control that appropriate conveys the message "work is being done -- not to worry" would be fine.

Dan Tao
  • 125,917
  • 54
  • 300
  • 447
  • 1
    Not so sure it makes sense to burn cycles on a server to keep a UI gadget updated. The olden Hourglass cursor gets the job done cheaply. – Hans Passant Jul 01 '10 at 18:41
  • 1
    @Hans: I'm working on a Windows Forms application. I don't guess that really invalidates your point, but I do feel that with Windows Forms apps, the expectation is that, as long as some work is being done, the user should both be made aware and reassured that progress is being made (as opposed to the app just having frozen). – Dan Tao Jul 01 '10 at 19:12
  • Hmya, it is just an illusion isn't it? To keep a marquee going, you have to do the work on a thread. The thread could be frozen solid, the marquee will just go on and on. – Hans Passant Jul 01 '10 at 19:22
  • @Hans there are many situations, e.g. one is the Windows 2008 sever may be a terminal server that users log into remotely to run your application, so it may make perfect sense. – rayzinnz Feb 18 '16 at 22:29

6 Answers6

11

If you can just display a GIF or animated image:

http://www.ajaxload.info/

This could be done in a user control by extracting the frames of the GIF using the Image class and painting as need-be.

John Gietzen
  • 48,783
  • 32
  • 145
  • 190
  • I made the image using the site you suggested and implemented it in my code with the WpfAnimatedGif NuGet Package ( http://wpfanimatedgif.codeplex.com/ ) . It all took less than 5 minutes to do! :D – SaiyanGirl Mar 27 '15 at 20:08
5

I've used this Progress Indicator from Code Project. Not as fancy as some of the others, but it does the job.

ChrisF
  • 134,786
  • 31
  • 255
  • 325
3

WPF : Circular Progress Bar describes one and provides source.

Here is another one from CodeProject: How to write a loading circle animation in .NET?

Larry Smithmier
  • 2,711
  • 2
  • 23
  • 30
  • Sacha Barber has an updated Circular Progress Bar at http://sachabarbs.wordpress.com/2009/12/29/better-wpf-circular-progress-bar/ - worked great for me. – Conrad Apr 11 '13 at 19:09
2

I've been happy with this control (from CodeProject):

How to write a loading circle animation in .NET?

Jay Riggs
  • 53,046
  • 9
  • 139
  • 151
2

There's some more here -- shield your eyes, the page full of them is very agitated.

DOK
  • 32,337
  • 7
  • 60
  • 92
0

You should be able to use the progress bar from WPF on a WinForms window. And that one does support Marquee on Server 2008 R2.

Jonathan Allen
  • 68,373
  • 70
  • 259
  • 447