2014-11-08 2 views
2

응용 프로그램에서 2 페이지를 인쇄하지만이 코드를 사용하면 결코 끝나지 않는 루프에 있습니다.C에서 여러 페이지 인쇄 #

e.HasMorePages = true; 

e.Graphics.DrawString("hello", new Font("Verdana", 12), new SolidBrush(Color.Black), new Point(10, 10)); 
e.Graphics.DrawString("page 2", new Font("Verdana", 12), new SolidBrush(Color.Black), new Point(10, 2000)); 

의견에 e.HasMorePages = true;을 입력하면 첫 번째 페이지 만 인쇄합니다. 누구든지 나를 도울 수 있습니까?

+1

여기에 루프가 없으므로 내가 어떻게 붙어있을 수 있는지 보지 못합니다. 더 많은 코드를 게시하거나 전체 메소드를 표시해야 할 수도 있습니다 (너무 길지 않은 경우). –

+0

@GrantWinney : 나는 그것이 e라고 생각합니다 .HasMorePages = true; 왜 내가 모르는 루프를 만들 것입니다. 하지만 결코 끝나지 않는 루프에 ... –

답변

1

e.HasMorePages은 인쇄 루틴의 중간에 아무런 영향을 미치지 않습니다. 따라서 귀하의 경우 전역 변수를 만드십시오. count = 1 다음 :

if (count == 1) { 
    e.Graphics.DrawString("hello" + count, new Font("Verdana", 12), new SolidBrush(Color.Black), new Point(10, 10)); 
    e.HasMorePages = true; 
} 
else { 
    e.Graphics.DrawString("Hello Again", New Font("Arial", 12, FontStyle.Regular), Brushes.Black, 100, 100) 
    e.HasMorePages = false; 
} 

count++; 

PS :은 비록이 코드를 자신을 시도하지 않았습니다.