2016-11-23 1 views
0

저는 C#으로 Windows Forms 앱을 가지고 있으며 PrintPreviewDialog를 사용하고 있습니다. 다중 페이지 문서는 각 페이지를 올바르게 표시하고 대화 상자 내에서 오른쪽 상단의 페이지 번호 선택기를 클릭하여 내가보고있는 페이지를 변경할 수 있습니다.PrintPreviewDialog 표시된 마지막 페이지로 점프

인쇄하지 않고이 대화 상자를 닫고 동일한 데이터 집합에서 같은 대화 상자를 다시 실행하려고하면 대화 상자가 열리고 닫은 후 마지막 페이지 번호가 이미 표시됩니다.

질문 : 인쇄 미리보기 대화 상자가 열릴 때 첫 페이지를 표시하게하여 사용자가 수동으로 페이지 1로 되돌릴 필요가 없도록하려면 어떻게해야합니까?

특정 세부 정보 : System.Windows.Forms.PrintPreviewDialog가 도구에서 폼으로 끌어 와서 디자인보기로 나타납니다. Visual Studio 커뮤니티 사용 2015 버전 14.0.25431.01 업데이트 3 .NET Framework 버전 4.6.01586

도움을 주셔서 미리 감사드립니다. 저는 학생이고 4 주 전부터 .NET과 9 주 전에 C#을 배웠지 만 30 년 이상 다른 Basic 형태로 프로그래밍 해왔습니다.

+0

동일한 PrintPreviewDIalog 개체를 반복적으로 사용하면 이런 현상이 발생합니다. 디자이너를 사용할 때 발생할 수있는 결과. Add printPreviewDialog1.PrintPreviewControl.StartPage = 0; ShowDialog() 호출 전에 항상 첫 번째 페이지에서 시작되도록합니다. –

답변

0

이것이 최선의 해결책인지는 확실하지 않지만 제대로 작동하는지는 확실하지 않습니다. 내 PrintPreviewDialog 개체에 문서를 할당하기 전에, 나는 새로운 하나를 생성하고 기존의 변수를 사용하여 참조 :

ppdPrinter = new PrintPreviewDialog();

하는 ppdPrinter 디자인 뷰에서 만든 컨트롤의 이름이었다 곳. 인쇄 미리보기 대화 상자의 새로운 인스턴스를 만들어야한다는 점이 마음에 들지만 다른 사람의 이점에 대한 대답으로 내 자신의 질문을 표시 할 것입니다.

개체를 삭제하고 문서를 할당하기 전에 null로 설정하고 문서를 살펴 보았습니다. 모든 옵션에 대한 PrintSettings가 여기에 포함되었습니다.

각 인쇄 작업에 새로운 PPD 개체를 만들지 않는 솔루션을 환영합니다.

관련 문제