I have a console application project in C# 2.0 that needs to write something to the screen in a while loop. I do not want the screen to scroll because using Console.Write or
Function to write the progress of a loop. Your loop counter can be uses as the x position parameter. This prints on line 1, modify for your needs.
///
/// Writes a string at the x position, y position = 1;
/// Tries to catch all exceptions, will not throw any exceptions.
///
/// String to print usually "*" or "@"
/// The x postion, This is modulo divided by the window.width,
/// which allows large numbers, ie feel free to call with large loop counters
protected static void WriteProgress(string s, int x) {
int origRow = Console.CursorTop;
int origCol = Console.CursorLeft;
// Console.WindowWidth = 10; // this works.
int width = Console.WindowWidth;
x = x % width;
try {
Console.SetCursorPosition(x, 1);
Console.Write(s);
} catch (ArgumentOutOfRangeException e) {
} finally {
try {
Console.SetCursorPosition(origRow, origCol);
} catch (ArgumentOutOfRangeException e) {
}
}
}