Click here to Skip to main content
15,799,017 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi, I am not sure if I am even using the name correctly, but I have google searched and google search for this over a period of uncountably many several years, and as of so far I have been unable to find a reference for what control or Windows API I call to get the progress wheel/spinner control with the little dots that whirl around happily, such as during Windows 10 boot etc.

A screen shot with the control/progress wheel I am talking about in question is displayed here:

Screenshot of Windows 10 Boot Screen with Progress Wheel[^]

Notice the thing in the red circle in the picture linked above. Is there a Windows API function, method, C# class, or a control somewhere buried deep in the bowels of Windows API/MSDN that I've just been plain missing?

Also, I want to know if this is available for C# WinForms. I know there may potentially be something also available for WPF, so, if anyone also has any information on that, it would be very helpful as well. Thank you.

What I have tried:

Google searched mostly, but I am at a loss at the specific search words/keywords to use because I am not sure what this "control" is called.
Updated 21-Jan-19 11:51am
Richard Deeming 22-Jan-19 8:29am    
Maybe you could adapt the code from this 2007 article?
How to write a loading circle animation in .NET?[^]

1 solution

What you're referring to is (generally) a "wait cursor".

The one I use in WPF is below; wrapped in a using; around the "waiting" code.

Don't know if you can customize it to what you want. For a kiosk, I created my own (bigger) "wait (for it) window" (WPF storyboard with rotating sprocket and status message).

using System;
using System.Windows.Input;

namespace xxx.Common {

   public class WaitCursor: IDisposable {

      private Cursor _previousCursor;

      public WaitCursor() {
         _previousCursor = Mouse.OverrideCursor;
         Mouse.OverrideCursor = Cursors.Wait;

      public void Dispose() {
         Mouse.OverrideCursor = _previousCursor;

   }  // end class.
Share this answer
Brian C Hart 22-Feb-19 9:05am    
Hi Gerry,

Thank you for the idea. However, I am unclear as to whether your proposed solution would meet my needs (sorry, I don't know WPF and I am not clear if I ever will program in it, I am a WinForms guy).

Did you have a chance to look at the picture in my question as to what I am specifically looking for?

I am just concerned that the code you supplied would put a little tiny blue doughnut on the screen in place of the "arrow" mouse cursor -- which I know how to do already -- however, I am specifically looking for those fun "dots" and that look exactly like the Winlogon screen's version.

I am convinced that it's gotta be buried in the OS somewhere as a control. But if I am wrong, I really do not have the foggiest as to how to replicate it.

So, I appreciate your help very much, however, it's not what I am looking for.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900