Přehled komponenty PrintDialog (model Windows Forms .NET)
Tisk v model Windows Forms se skládá především z použití PrintDocument komponenty, aby uživatel mohl tisknout. Ovládací PrintPreviewDialog prvek PrintDialog a PageSetupDialog komponenty poskytují uživatelům operačního systému Windows známé grafické rozhraní.
Součástí PrintDialog
je předem nakonfigurované dialogové okno, které slouží k výběru tiskárny, volbě stránek k tisku a určení dalších nastavení souvisejících s tiskem v aplikacích se systémem Windows. Je to jednoduché řešení pro nastavení související s tiskárnou a tiskem místo konfigurace vlastního dialogového okna. Uživatelům můžete povolit tisk mnoha částí svých dokumentů: tisk všech, tisk vybraného rozsahu stránek nebo tisk výběru. Spoléháte-li se na standardní dialogová okna Windows, můžete vytvářet aplikace, jejichž základní funkce jsou uživatelům okamžitě známy. Komponenta PrintDialog dědí z CommonDialog třídy.
Obvykle vytvoříte novou instanci PrintDocument komponenty a nastavíte vlastnosti, které popisují, co se má vytisknout pomocí PrinterSettings a PageSettings tříd. Volání metody Print ve skutečnosti vytiskne dokument.
Práce s komponentou
K zobrazení dialogového okna za běhu použijte metodu PrintDialog.ShowDialog . Tato komponenta má vlastnosti, které se týkají buď jedné tiskové úlohy (PrintDocument třídy), nebo nastavení jednotlivých tiskáren (PrinterSettings třídy). Jeden z těchto dvou je zase možné sdílet více tiskárnami.
Metoda zobrazit dialogové okno vám pomůže přidat dialogové okno tisku do formuláře. Komponenta PrintDialog se zobrazí v zásobníku v dolní části návrháře model Windows Forms v sadě Visual Studio.
Jak zachytit uživatelský vstup z PrintDialogu za běhu
Možnosti související s tiskem můžete nastavit v době návrhu. Někdy můžete chtít tyto možnosti změnit za běhu, s největší pravděpodobností z důvodu voleb provedených uživatelem. Uživatelský vstup můžete zaznamenat pro tisk dokumentu pomocí těchto PrintDialog součástí.PrintDocument Následující kroky ukazují zobrazení dialogového okna tisku dokumentu:
PrintDialog Přidejte do formuláře komponentu PrintDocument a ji.
Document Nastavte vlastnost PrintDialog na přidanou PrintDocument do formuláře.
PrintDialog1.Document = PrintDocument1
printDialog1.Document = printDocument1;
Zobrazte PrintDialog komponentu ShowDialog pomocí metody.
If PrintDialog1.ShowDialog() = DialogResult.OK Then PrintDocument1.Print() End If
// display show dialog and if user selects "Ok" document is printed if (printDialog1.ShowDialog() == DialogResult.OK) printDocument1.Print();
Možnosti tisku uživatele z dialogového okna se zkopírují do PrinterSettings vlastnosti PrintDocument komponenty.
Jak vytvořit tiskové úlohy
Základem tisku v model Windows Forms je PrintDocument komponenta – PrintPage konkrétně událost. Napsáním kódu pro zpracování PrintPage události můžete určit, co se má vytisknout a jak ho vytisknout. Následující kroky ukazují vytvoření tiskové úlohy:
Přidejte do formuláře komponentu PrintDocument .
Napište kód pro zpracování PrintPage události.
Budete muset kódovat vlastní logiku tisku. Kromě toho budete muset zadat materiál, který se má vytisknout.
Jako materiál k tisku se v následujícím příkladu kódu vytvoří v obslužné rutině události ukázkový obrázek ve tvaru červeného obdélníku PrintPage .
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage e.Graphics.FillRectangle(Brushes.Red, New Rectangle(100, 100, 100, 100)) End Sub
private void PrintDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) => e.Graphics.FillRectangle(Brushes.Red, new Rectangle(100, 100, 100, 100));
Můžete také chtít napsat kód pro události BeginPrint a EndPrint události. Pomůže vám zahrnout celé číslo představující celkový počet stránek, které se vytisknou při tisku každé stránky.
Poznámka:
Do formuláře můžete přidat komponentu PrintDialog , která uživatelům poskytne čisté a efektivní uživatelské rozhraní. Document Nastavení vlastnosti PrintDialog komponenty umožňuje nastavit vlastnosti související s tiskovým dokumentem, se kterým pracujete ve formuláři.
Další informace o specifikách model Windows Forms tiskových úloh, včetně toho, jak vytvořit tiskovou úlohu prostřednictvím kódu programu, najdete v tématu PrintPageEventArgs.
Jak dokončit tiskové úlohy
Často platí, že textové procesory a další aplikace, které zahrnují tisk, poskytují možnost zobrazit uživatelům zprávu o dokončení tiskové úlohy. Tuto funkci můžete poskytnout ve svém model Windows Forms zpracováním EndPrint události PrintDocument komponenty.
Následující postup vyžaduje, abyste vytvořili aplikaci založenou na systému Windows s komponentou PrintDocument . Níže uvedený postup představuje standardní způsob povolení tisku z aplikace založené na systému Windows. Další informace o tisku z model Windows Forms pomocí PrintDocument komponenty naleznete v tématu Vytváření tiskových úloh.
DocumentName Nastavte vlastnost PrintDocument komponenty.
PrintDocument1.DocumentName = "SamplePrintApp"
printDocument1.DocumentName = "SamplePrintApp";
Napište kód pro zpracování EndPrint události.
V následujícím příkladu kódu se zobrazí okno se zprávou, které indikuje, že dokument dokončil tisk.
Private Sub PrintDocument1_EndPrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs) Handles PrintDocument1.EndPrint MessageBox.Show(PrintDocument1.DocumentName + " has finished printing.") End Sub
private void PrintDocument1_EndPrint(object sender, System.Drawing.Printing.PrintEventArgs e) => MessageBox.Show(printDocument1.DocumentName + " has finished printing.");
.NET Desktop feedback