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); }
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(); }