C# - Console Progressbar

Selyk

Prince Of Darkness
Moderator
Joined
Sep 5, 2020
Topics
81
Messages
2,653
Solutions
562
Reaction score
1,724
Code:
class Progress
        {
            static bool firstLaunch = true;
            public Progress()
            {
                firstLaunch = true;
            }
            public v0id progressBar(int reportProgress, int max, string prefix = "[", string suffix = "]"
             , bool cursorVisible = false)
            {
                Console.CursorVisible = cursorVisible;
                if (firstLaunch == true)
                {
                    Console.Write(prefix);
                    for (int k = 0; k < max; k++)
                    {
                        Console.Write("-");
                    }
                    Console.Write(suffix);
                    firstLaunch = false;
                }
                Console.SetCursorPosition(1, Console.CursorTop);
                for (int y = 0; y < reportProgress + 1; y++)
                {
                    Console.SetCursorPosition((max + 2), Console.CursorTop);
                    Console.Write(" %" + (reportProgress + 1).ToString());
                    Console.SetCursorPosition(y + 1, Console.CursorTop);
                    Console.Write("*");                   
                }
                Console.SetCursorPosition((max + 2), Console.CursorTop);
            }
        }
        static v0id Main()
        {
            Console.Title = "Downloader";

            Progress progress = new Progress();
            Console.WriteLine("Downloading...");
            for(int k = 0; k<20; k++)
            {
                    progress.progressBar(k, 20);
                    Thread.Sleep(200);
            }
            Console.WriteLine();

                Progress progress_ = new Progress();
                Console.WriteLine("Processing...");
                for (int k = 0; k < 10; k++)
                {
                    progress_.progressBar(k, 10);
                    Thread.Sleep(200);
                }
            Console.ReadLine();
        }
 

Top