예제 #1
0
파일: Program.cs 프로젝트: MrX13415/Startup
        public void WriteElement(StartupElement element)
        {
            var cl = Console.CursorLeft;
            var ct = Console.CursorTop;

            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.Write("  -> ");
            Console.ResetColor();
            Console.Write("{0} - {1}", element.StartIndex, element.ServiceName);

            switch (element.Status)
            {
            case StartupElement.StartupStatus.Queue:
            case StartupElement.StartupStatus.Delay:
                Console.SetCursorPosition(70, Console.CursorTop);
                WriteDelay(element);
                break;

            case StartupElement.StartupStatus.Starting:
                Console.SetCursorPosition(77, Console.CursorTop);
                Console.ForegroundColor = ConsoleColor.Magenta;
                Console.Write("Starting...".PadRight(13));
                break;

            case StartupElement.StartupStatus.Disabled:
                Console.SetCursorPosition(70, Console.CursorTop);
                Console.ForegroundColor = ConsoleColor.Red;
                Console.Write("Disabled".PadRight(20));
                ct++;       // Next line ...
                break;

            case StartupElement.StartupStatus.Done:
                Console.SetCursorPosition(70, Console.CursorTop);
                if (element.Result)
                {
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.Write("OK ");
                    Console.ForegroundColor = ConsoleColor.Yellow;
                    Console.Write("Desktop \"{0}\"".PadRight(20), VirtualDesktop.GetDesktops().ToList().IndexOf(VirtualDesktop.Current) + 1);
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write("Error".PadRight(20));
                    Console.WriteLine("          Error: {0}", element.Error.Message);
                    ct++;       // Next line ...
                }

                ct++;      // Next line ...
                break;
            }
            Console.ResetColor();
            Console.SetCursorPosition(cl, ct);
        }
예제 #2
0
파일: Program.cs 프로젝트: MrX13415/Startup
 static void WriteDelay(StartupElement element)
 {
     Console.ForegroundColor = ConsoleColor.Yellow;
     Console.Write("{0," + (element.Delay.ToString().Length + 4) + ":0.000}", element.TimeLeft); // (element.Delay.ToString().Length + 4)  =>  Padding
     Console.ResetColor();
 }