Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tisk v modelu Windows Forms se skládá především z použití PrintDocument komponenty, která uživateli umožní tisknout. Ovládací PrintPreviewDialog prvek PrintDialoga PageSetupDialog komponenty poskytují známé grafické rozhraní pro uživatele operačního systému Windows.
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 může být nasdílený 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 liště v dolní části návrháře Windows Forms ve 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 pro tisk dokumentu můžete zachytit pomocí PrintDialog a součástí PrintDocument. Následující kroky ukazují zobrazení dialogového okna tisku dokumentu:
Přidejte do formuláře PrintDialog a komponentu PrintDocument.
Nastavte vlastnost Document objektu PrintDialog na hodnotu PrintDocument, která byla přidána do formuláře.
PrintDialog1.Document = PrintDocument1printDialog1.Document = printDocument1;Pomocí metody PrintDialog zobrazte komponentu ShowDialog.
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 ve Windows Forms je událost PrintDocument — konkrétně PrintPage komponenta. 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.
Musíte kódovat vlastní tiskovou logiku a 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 Subprivate 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. Pomáhá zahrnout celé číslo představující celkový počet stránek k tisku, který se při tisku jednotlivých stránek sníží.
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 tiskových úloh Modelu Windows Forms, včetně toho, jak vytvořit tiskovou úlohu prostřednictvím kódu programu, naleznete v tématu PrintPageEventArgs.
Jak dokončit tiskové úlohy
Často se jedná o textové procesory a další aplikace, které zahrnují tisk, umožňují uživatelům zobrazit zprávu, že je tisková úloha dokončená. Tuto funkci ve Windows Forms můžete poskytnout zpracováním EndPrint události komponenty PrintDocument.
Následující postup vyžaduje, abyste vytvořili aplikaci založenou na systému Windows s komponentou PrintDocument . Tento postup představuje standardní způsob povolení tisku z aplikace založené na systému Windows. Další informace o tisku z modelu Windows Forms pomocí PrintDocument této komponenty naleznete v tématu Vytváření tiskových úloh.
Nastavte vlastnost DocumentName komponenty PrintDocument.
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 byl dokončen.
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 Subprivate void PrintDocument1_EndPrint(object sender, System.Drawing.Printing.PrintEventArgs e) => MessageBox.Show(printDocument1.DocumentName + " has finished printing.");
.NET Desktop feedback