2014-07-14 52 views
2

如何使Console.Clear清除除一個特定行之外的所有行? (c#)如何製作Console.Clear清除除特定行之外的所有行? (c#)

因此,作爲標題說我想清除整個控制檯,除了一個特定的行使用c#。可能嗎?

+0

你能轉載一下嗎? –

+0

實現此目的的一種方法是調用[FillConsoleOutputCharacter](http://msdn.microsoft.com/en-us/library/windows/desktop/ms682663%28v=vs.85%29.aspx) –

回答

6

嗯,是的,這是可能的。但這並不容易。您必須熟悉Console API,包括如何使用.NET調用這些函數。那麼,你可以做什麼:

  1. 找到你想要保存的行。如果你知道它在屏幕上的位置,那麼很容易找到控制檯屏幕緩衝區。
  2. 請致電FillConsoleOutputCharacter從屏幕緩衝區的起始處輸出空格,直到您要保存的行的第一個字符。
  3. 再次調用FillConsoleOutputCharacter以輸出要保存的行的末尾到緩衝區末尾的空格。

我寫了一系列關於幾年前從C#訪問控制檯的文章。文章不再在線,但代碼可從http://mischel.com/pubs/consoledotnet.zip獲得。你可能會覺得它很有用。

0

是的,這是可能的。只需使用此代碼...

string line = yourlinenottobedeleted; 
console.clear(); 
console.WriteLine(line); 

及契據完成 (如果不被刪除的行不是一個字符串,然後把不是字符串INT)

+0

只需找到一種方法把它變成一個變量。並重新打印它 – Csharper

相關問題