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);
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);
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.
Dies scheint für mich zu einer neuen Zeile zu wickeln. Wie wäre es mit Console.Write (neue Zeichenfolge ('', Console.BufferWidth - 1)) ?? –
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
Sobald das letzte Leerzeichen einer Konsolenpufferzeile verwendet wird, springt der Konsolencursor automatisch zur nächsten Zeile.
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;
}
(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.
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 \ –