2013-03-14 83 views
5

Làm cách nào để một dòng trong bảng điều khiển bị xóa trong C#?Xóa một dòng trong bảng điều khiển

Tôi biết làm thế nào để đặt con trỏ vào đầu của một dòng:

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

Google là bạn của bạn http://msdn.microsoft.com/en-us/library/system.console.clear.aspx <- kết quả đầu tiên của google, kết quả đầu tiên cho dòng: http://stackoverflow.com/questions/5027301/c-sharp-clear-console-last-item-and-replace-new-giao diện điều khiển-hoạt hình \ –

Trả lời

10

phương pháp đơn giản nhất sẽ được di chuyển đến đầu dòng, như bạn đã làm, và sau đó viết ra một chuỗi các không gian có chiều dài bằng với chiều dài của đường kẻ.

Console.Write(new String(' ', Console.BufferWidth)); 
+2

Điều này dường như bọc cho một dòng mới cho tôi. Làm thế nào về Console.Write (chuỗi mới ('', Console.BufferWidth - 1)) ?? –

+0

chắc chắn nó ... nó chỉ đơn giản là viết dòng hoàn chỉnh! Chỉ cần di chuyển lên một dòng sau đó. Nếu bạn làm -1, bạn sẽ để lại một nhân vật chưa được bù trừ! – Zordid

2

Khi không gian cuối cùng của hàng đệm bảng điều khiển được sử dụng, con trỏ bàn điều khiển sẽ tự động chuyển sang dòng tiếp theo.

  1. Đặt lại con trỏ trở lại vào đầu trước khi nó đạt đến cạnh của giao diện điều khiển
  2. Erase console cũ ra, đặt con trỏ vào dòng tiếp theo
  3. Đặt lại con trỏ trở lại vào dòng đó chỉ là xóa

    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; 
    } 
    
0

(Kết hợp câu trả lời của at.toulan và Andrew tại đây.)

đơn giản nhất là, ghi đè lên trên dòng cuối cùng:

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

Nếu "dòng mới của văn bản" là ngắn hơn so với văn bản mà đã có trước, viết khoảng trống trước khi viết văn bản của bạn, giống như Andrew nói.

Các vấn đề liên quan