hallo zusammen,
ich habe ein kleines problem mit dem PrintPreviewDialog.
der dialog wirft beim anzeigen ein PrintPage event das ich auch behandle... wie eben beim "normalem" drucken auch. leider wird im PrintPreviewDialog nichts angezeigt... heißt die seite(n) sind leer. der ausdruck auf drucker funktioniert ohne probleme!
hier ein paar code ausschnitte:
die methode zum aufruf des dialogs:
Alles anzeigen
BeginPrint:
Alles anzeigen
PrintPage:
Alles anzeigen
und die EndPrint:
wäre super wenn mir jemand weiter helfen könnte!
thx, truespin
ich habe ein kleines problem mit dem PrintPreviewDialog.
der dialog wirft beim anzeigen ein PrintPage event das ich auch behandle... wie eben beim "normalem" drucken auch. leider wird im PrintPreviewDialog nichts angezeigt... heißt die seite(n) sind leer. der ausdruck auf drucker funktioniert ohne probleme!
hier ein paar code ausschnitte:
die methode zum aufruf des dialogs:
Quellcode
- public void ShowPrintPreviewDialog()
- {
- // Creat new PrintPreviewDialog
- PrintPreviewDialog oPrintPreviewDialog = new PrintPreviewDialog();
- // Get PrintDoc
- oPrintPreviewDialog.Document = this.m_oAreaProperties.PrintDoc;
- // Set anti alais
- oPrintPreviewDialog.UseAntiAlias = true;
- // Show dialog to user
- oPrintPreviewDialog.ShowDialog();
- }
BeginPrint:
Quellcode
- void PrintDoc_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
- {
- // Creat new PrintHelper
- this.m_oPrintHelper = new PrintHelper(new SizeF(this.m_oAreaProperties.AreaWidth, this.m_oAreaProperties.AreaHeight),
- this.m_oreaProperties.PagePrinterSettings);
- // Current page
- this.m_oPrintHelper.CurrentPage = 1;
- // ToDo: Scaling!!!
- }
PrintPage:
Quellcode
- void PrintDoc_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
- {
- // Check if there are more than one page to print
- if (this.m_oPrintHelper.PageCount > 0
- && this.m_oPrintHelper.CurrentPage < this.m_oPrintHelper.PageCount)
- {
- // There are more pages to print
- e.HasMorePages = true;
- }
- else
- {
- // There are only one page to print
- e.HasMorePages = false;
- }
- // Check if there are someone to catch
- if (this.OnPrintPage != null)
- {
- // Throw event to print
- this.OnPrintPage(this, new PrintingEventArgs(this.m_oPrintHelper.PageOffset(this.m_oPrintHelper.CurrentPage), new SizeF(1, 1), e));
- }
- // Next page
- this.m_oPrintHelper.CurrentPage++;
- }
und die EndPrint:
wäre super wenn mir jemand weiter helfen könnte!
thx, truespin