/// <summary> /// 菜单上下文。父菜单active时生成,用于绘制参考 /// </summary> /// <param name="menuStyle"></param> public MenuContext(MenuDrawingStyle drawingStyle, MenuItemKeyStyle keyStyle, ConsoleColor disabledItemForegroundColor = System.ConsoleColor.DarkGray) { DrawingStyle = drawingStyle; KeyStyle = keyStyle; DisabledItemForegroundColor = disabledItemForegroundColor; CursorStatus = new CursorStatus(); ConsoleColor = new SafeConsoleColor(); }
/// <summary> /// 安全写入方法。防止颜色冲突。 /// </summary> /// <param name="text"></param> /// <param name="intensity"></param> protected void SafeWriteLine(string text, bool intensity = false, ConsoleColor?foregroundColor = null) { var oc = new SafeConsoleColor(); var sc = new SafeConsoleColor(oc.BackgroundColor, foregroundColor ?? ForegroundColor, intensity); sc.SetToConsole(); Console.WriteLine(text); oc.SetToConsole(); }
/// <summary> /// 安全写入方法。防止颜色冲突。 /// </summary> /// <param name="text"></param> /// <param name="intensity"></param> protected void SafeWriteLine(string text, bool intensity) { var oc = new SafeConsoleColor(); var f = GetColor(); var sc = new SafeConsoleColor(oc.BackgroundColor, f, intensity); sc.SetToConsole(); Console.WriteLine(text); oc.SetToConsole(); }
/// <summary> /// 安全写入方法。防止颜色冲突。 /// </summary> /// <param name="text"></param> protected void SafeWrite(string text) { var oc = new SafeConsoleColor(); var f = GetColor(); var sc = new SafeConsoleColor(oc.BackgroundColor, f, false); sc.SetToConsole(); Console.Write(text); oc.SetToConsole(); }
/// <summary> /// 菜单上下文。父菜单active时生成,用于绘制参考 /// </summary> /// <param name="menuStyle"></param> public MenuContext(MenuStyle menuStyle) { Style = menuStyle ?? throw new ArgumentNullException(nameof(menuStyle)); CursorStatus = new CursorStatus(); ConsoleColor = new SafeConsoleColor(); }