2009-04-11 6 views
0

Console.Write를 사용하여 콘솔을 행 스크롤 업하지 않고 일반적인 80x25 콘솔 맨 오른쪽에 단일 문자를 배치 할 수 있습니까? 이것은 내가 사용하고있는 코드입니다 ...System.Console.Write로 스크롤 사용 안 함

Imports System 
Console.SetCursorPosition(Console.WindowWidth-1, Console.WindowHeight-1) 
Console.Write("x") 

이것은 내가 좋아하는 것처럼 작동하지 않습니다. 어떤 제안이나 대안? 저는 SetCursorPosition이 이미 0,0 좌표계를 사용하고 있는지 테스트했습니다. WindowWidth-1/Height-1을 사용하면 화면의 오른쪽 아래 모서리에 넣어야하지만, Console.Write는 "x"를 아래로 내리고 다음 줄로 계속 진행합니다.

답변

4

버퍼 영역을 이동할 수 있습니다. 예 :

Console.WriteLine("Top") 
Console.SetCursorPosition(Console.WindowWidth - 1, Console.WindowHeight - 1) 
Console.Write("x") 
Console.MoveBufferArea(0, 0, 80, 25, 0, 1) 
Console.ReadLine() 
+0

합니다. 고맙습니다! – Valdemarick

+0

도와 드릴 수있어서 다행입니다. – aphoria

+0

BufferArea가 작동하려면 Console Dimensions보다 커야하는데, 많은 콘솔에서 불쾌한 스크롤바가 발생합니다. 이 시점에서 콘솔 API를 통해 스크롤 할 수 있습니다. –

0

문제는 특정 행의 마지막 위치에 쓸 때마다 콘솔이 항상 다음 행으로 이동한다는 것입니다. 가장 가까운 방법은 두 번째 마지막 위치에 쓰는 것입니다.

 Console.CursorLeft = Console.WindowWidth - 1; 
     Console.Write("X"); 
0

나는 더럽지 만 기능적인 방식으로 해결했습니다.

Console.SetCursorPosition(79, 24); //last pos 
Console.BufferWidth++; 
Console.Write("x"); 
Console.BufferWidth--; 
Console.ReadKey(); 

상자의 팀은 밀리 초를 깜박하지,하지만 난 누구도 알 수 있다고 생각하지 않습니다 : 완벽하게 작동

+0

나는 알 것이다. 그리고 나는 내가 혼자가 아니란 걸 확신합니다. – Kawa

관련 문제