2013-03-14 24 views
5

Wie kann eine Zeile in der Konsole in C# gelöscht werden?Löschen einer Zeile in der Konsole

Ich weiß, wie Sie den Cursor am Anfang einer Zeile platzieren:

Console.SetCursorPosition(0, Console.CursorTop); 
+2

Google ist dein Freund http://msdn.microsoft.com/en-us/library/system.console.clear.aspx <- erstes Google-Ergebnis, erstes Ergebnis für Zeile: http://stackoverflow.com/questions/5027301/c-sharp-clear-console-last-item-und-ersetze-new-console-animation \ –

Antwort

10

Simplest Methode wäre, den Anfang der Zeile zu bewegen, wie Sie getan haben, und schreiben Sie dann eine Reihe von Leerzeichen die gleiche Länge wie die Länge der Zeile.

+2

Dies scheint für mich zu einer neuen Zeile zu wickeln. Wie wäre es mit Console.Write (neue Zeichenfolge ('', Console.BufferWidth - 1)) ?? –

+0

sicher ist es ... es schreibt einfach die komplette Zeile! Gehe einfach eine Zeile nach oben. Wenn du -1 machst, lässt du einen Charakter unblanked! – Zordid

2

Sobald das letzte Leerzeichen einer Konsolenpufferzeile verwendet wird, springt der Konsolencursor automatisch zur nächsten Zeile.

  1. Reset-Cursor an den Anfang zurück, bevor es Rand Konsolenausgabe
  2. Erase alte Konsole erreicht, auf der nächsten Zeile Cursor platzieren
  3. Reset-Cursor zurück auf die Linie, die

    while (true) 
    { 
        Console.Write("."); 
        if (Console.CursorLeft + 1 >= Console.BufferWidth) 
        { 
        Console.SetCursorPosition(0, Console.CursorTop); 
        Console.Write(Enumerable.Repeat<char>(' ', Console.BufferWidth).ToArray()); 
        Console.SetCursorPosition(0, Console.CursorTop - 1); 
        } 
    
        if (Console.KeyAvailable) 
        break; 
    } 
    
  4. gerade gelöscht war
0

(Kombination at.toulan und Andrew Antworten hier.)

Simplest ist, auf die letzte Zeile überschrieben über:

Console.SetCursorPosition(0, Console.CursorTop - 1) 
Console.WriteLine("new line of text"); 

Wenn „neue Textzeile“ kürzer ist als der Text ist, dass es vorher war, schreiben Leerzeichen vor Ihren Text zu schreiben, wie Andrew sagt.

Verwandte Themen