浏览代码

Restore screen buffer and refresh screen using the SetContentsAsDirty method.

BDisp 1 年之前
父节点
当前提交
2608718980
共有 1 个文件被更改,包括 13 次插入1 次删除
  1. 13 1
      Terminal.Gui/ConsoleDrivers/NetDriver.cs

+ 13 - 1
Terminal.Gui/ConsoleDrivers/NetDriver.cs

@@ -865,8 +865,20 @@ internal class NetDriver : ConsoleDriver
         {
             Console.ResetColor ();
             Console.Clear ();
+
+            //Disable alternative screen buffer.
+            Console.Out.Write (EscSeqUtils.CSI_RestoreCursorAndRestoreAltBufferWithBackscroll);
+
+            //Set cursor key to cursor.
+            Console.Out.Write (EscSeqUtils.CSI_ShowCursor);
+
             Platform.Suspend ();
-            Application.Refresh ();
+
+            //Enable alternative screen buffer.
+            Console.Out.Write (EscSeqUtils.CSI_SaveCursorAndActivateAltBufferNoBackscroll);
+
+            SetContentsAsDirty ();
+            Refresh ();
         }
 
         StartReportingMouseMoves ();