To naj bi bil zelo preprost in kratek v Visual Basic. net . Enostavno hitro razumeli, da deluje in kratke (z zelo malo kode), tako da nič ne ovira, ko nam bo naš osebno noto. Programerji so zelo kreativni in sem preživel veliko krat sem se sestal z zelo kompleksna in polna primerov kode, kar sem morala razčleniti in analizirati delov razumeti njegovo delovanje. Zato sem poskusil dati vse moje delovno mesto v konkretnih primerih, preproste za uporabo s samo kopiraj, prilepi in se konfiguracijsko kontrole mimina.
Potrebujemo:
Winform (Form1), nadzor PrintDocument (PrintDocument1), PrintDialog (PrintDialog1), Okvir (TextBox1) in Button (Button1). Obrazec mora izgledati podobno tej sliki:

Prekopirajte naslednjo kodo v primeru Button1 klik
Potem, če PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings PrintDocument1.Print () Konec Če
da le-ta se odpre pogovorno okno za izbiro tiskalnika, nato pa preide celotna konfiguracija prehaja PrintDocument predmet izbran, nato pa pove, da natisnete. Kaj sproži PrintDocument dogodek PrintPage.
Sedaj je cilj PrintDocument1 dvakrat kliknite in prilepite naslednjo kodo
e.Graphics.DrawString (TextBox1.Text, New Font ("Verdana", 18, FontStyle.Bold) Brushes.Black, 10, 10) Za i = 1 Kot Integer do 10 e.Graphics.DrawString ("Sample vrstica:" & i, New Font ("Tahoma", 10, FontStyle.Bold) Brushes.Black, 10, 20 + (i * 30)) Naslednja
Ko zaženete Natisne vsebino polju kot ime strani in deset linij z različno vzorec in furnte in velikost. Rezultat bo videti podobna naslednji sliki:

Več informacij o kontrolah ...
PrintDialog Component (Windows Forms)
Komponenta PrintDialog obrazcev Windows je že nastavljen pogovorno okno se uporablja za izbiro tiskalnika, izberite strani, ki bo natisnjen in določi tudi druge nastavitve, povezane s tiskanjem na Windows aplikacij. Uporabite ga kot preprosto rešitev, da izberete nastavitve tiskalnika ali se nanaša na tiskalnik, namesto da bi ustanovitev pogovorno okno sam. Lahko omogočajo uporabnikom, da tiskanje različnih delov njihovih dokumentov: natisnite vse, natisniti določen obseg strani ali tiskanje izbiro. S sklicevanjem na standardne Windows pogovornih oknih, ustvarjanje aplikacij, katerih osnovna funkcija je takoj pozna uporabnikom.
PrintDocument Component (Windows Forms)
PrintDocument sestavni del oblik Windows se uporablja za nastavitev lastnosti, ki opisujejo, kaj za tiskanje in natisnite dokument v Windows aplikacij.
No, ko sem hodil po pošti, in nihče ni odgovoril na, kot to počne za tiskanje več strani, sam sem dal nalogo, da razišče drugih mestih in sem našel kodo, vendar je ta kompleks medij za enterlo preprosto zato modique zgledu , ki so tukaj vožnjo, tako da je moja dva centa in upam, in razumem, okas
"Ta spremenljivka mora biti objavljen
Dim linija Kot Integer = 1
PrintDocument1_PrintPage Private Sub (ByVal pošiljatelj Kot System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Ročaji PrintDocument1.PrintPage
"Mi opredeliti vrsto pisave in več
Dim Vir Kot New Font ("Arial", 10)
"Mi opredeliti, da je položaj se bo začel tiskanje
Dim položaj Kot Integer = 20
"Je natisnjena grof linij
Lineaimpresa Dim Kot Integer = 0
"Spremenljiva da vidim, če ste vzeli skok na stran
Dim Kot Boolean = False salto_pagina
"Spremenljiva za imenovanje, koliko vrstic za tiskanje na list
NroLineasPagina Dim Kot Integer = 70
Za i = linijo na 150
e.Graphics.DrawString ("Sample vrstica:" in line, Vir, Brushes.Black, 10, položaj)
položaj + = 15
linija + = 1
lineaimpresa + = 1
Potem, če lineaimpresa = NroLineasPagina
salto_pagina = True
Za izhod iz
Konec Če
Naslednja
Če salto_pagina = True Nato
e.HasMorePages = True
Else
e.HasMorePages = False
Konec Če
End Sub
No upam, in služijo z njimi in njihovo potrebo po prilagoditvi okas byes
Hvala za pomoč.
Od kaj je prav, da nekaj, kar daje več strani, kot so pomoč agredicimiento pa je, da bi nekaj
kot sem lahko natisnete
Uvoz System.IO
Javna razred frmDesCaratula
StringToPrint Kot String Private
Private Sub frmDesCaratula_Load (pošiljatelj Kot Object in E, ki so System.EventArgs) Ročaji MyBase.Load
Me.MdiParent = mdiPrincipal
End Sub
Private Sub Button1_Click (pošiljatelj Kot Object in E, ki so System.EventArgs) Ročaji Button1.Click
Potem, če ptdConfiguracion.ShowDialog = Windows.Forms.DialogResult.OK
ptdDocumento.PrinterSettings = ptdConfiguracion.PrinterSettings
ptdDocumento.Print ()
Konec Če
End Sub
Private Sub PrintDocument1_PrintPage (pošiljatelj Kot Object in E, ki so System.Drawing.Printing.PrintPageEventArgs) Ročaji ptdDocumento.PrintPage
e.Graphics.DrawString (TextBox1.Text, New Font ("Verdana", 18, FontStyle.Bold) Brushes.Black, 10, 10)
Za i = 1 Kot Integer do 10
e.Graphics.DrawString ("Sample vrstica:" & i, New Font ("Tahoma", 10, FontStyle.Bold) Brushes.Black, 10, 20 + (i * 30))
Naslednja
"VSE ----- Tiskanje dokumenta
"Dim Kot Integer = 0 charactersOnPage
"Dim Kot Integer = 0 linesPerPage
"Nastavi vrednost števila charactersOnPage do znakov
"To bo fit od stringToPrint v mejah strani.
"E.Graphics.MeasureString (stringToPrint, Me.Font, e.MarginBounds.Size, _
"StringFormat.GenericTypographic, charactersOnPage, linesPerPage)
"Nariše niz v mejah strani
"E.Graphics.DrawString (stringToPrint, Me.Font, Brushes.Black, _
"E.MarginBounds, StringFormat.GenericTypographic)
"Odstranite del niza, ki je bila natisnjena.
"StringToPrint = stringToPrint.Substring (charactersOnPage)
"Preverite, če je več strani za tiskanje.
"E.HasMorePages = stringToPrint.Length> 0
End Sub
Private Sub Button2_Click (pošiljatelj Kot Object in E, ki so System.EventArgs) Ročaji Button2.Click
ReadFile ()
ptdDocumento.Print ()
End Sub
Private Sub ReadFile ()
DocName Dim Kot String = "index.html"
DocPath Dim Kot String = "G: \"
ptdDocumento.DocumentName = docName
Dim tok Kot New FileStream (DocPath + docName, FileMode.Open)
Preizkusite
Dim Kot bralec New StreamReader (tok)
Preizkusite
reader.ReadToEnd stringToPrint = ()
Končno
reader.Dispose ()
Poskusite na koncu
Končno
stream.Dispose ()
Poskusite na koncu
End Sub
Private Sub Button3_Click (pošiljatelj Kot Object in E, ki so System.EventArgs) Ročaji Button3.Click
ppdVista.Document = ptdDocumento
ppdVista.ShowDialog ()
End Sub
Konec razred
To je delal za mene, za ogled potrebujete texbox: TextBox1
PrintDocument: ptdDocumento
PrintPreviewControl: ppdVista
PrintDialog: ptdConfiguracion
Zanimiv članek, vendar se sprašujem, kako bi morali delovati bolj poklicno okolje, kot so tiskanje vstopnic, prejemi, računi ali nadzornimi pregledi, če je tiskalnik na spletu in je bil papir ali impreison Mido tiska jih ustavil za nekaj napak.
Shrani hacerca tega, kar ste jih omenili, kot sem poskušal večkrat neuspešno to in niso našli ničesar za rešitev tega problema.
Lep pozdrav.
Atte. Kevin Ramirez
Dobro jutro, želel vedeti, če ste imeli vaje, tako da lahko natisnete vsebino datagridview, ker vse, kar se mi zdi na internetu je veliko kode in lahko teče nič kaj!.
Jaz bi zelo hvaležni, če bi imeli podatke o tem.
S spoštovanjem
Spoštovani, sem programiranje za več kot 10 let pri Microsoftu, je šel skozi VB6 in zdaj sem z VS2010.
Nisem našel nobenih orodje prožnejši PrintDocument na poročila, ni nič, da ne more storiti.
Če imate vprašanja se obrnite na mene.
pozdrav
Dobro jutro Manuel, jaz bi porabili za stike, e-pošto, da so bolj v skladu in tako daj mi roko?
Najlepša hvala
Jaz rudnik pusti
francocsanchez@gmail.com
To je zelo potreben: T
No Manuel agredece ste veliko za odgovor, da bom me ukazom, kot je e-pošte ali katerega koli stika me facilitaras ker imam približno šest mesecev, v tem.
In mislim, da eden od nekaj strokovnim vodstvom sem lahko uporabljate.
Pustim moj mail.
kevinramirez92@hotmail.com
Lep pozdrav.
Atte. Kevin Ramirez.
Manuel potrebujejo pomagam, kako natisniti vsebino datagridview!.
Ali mi lahko poveste roko?
francocsanchez@gmail.com
Lep pozdrav.
Q est je, da je moj mail včasih pa je treba pomagati za avtomatsko tiskanje v Visual Basic 2010.
Luis_Cepedaf@hotmail.com
Nekaj posebnega knjižnica za nalaganje učbenik vrednosti v dokumentu, Excel in dimenzij določi glede na immpresora.
Hvala
Hi žal moram nujno pomoč Kaj se zgodi, je Rad bi vedel kako lahko natisnil vsebino Panel D, v kateri sem imel sliko (večji od plošče na ravnanje drsnika k) in nekaj učbenik ... vse od PrintDocument. Hi žal moram nujno pomoč Kaj se zgodi, je Rad bi vedel kako lahko natisnil vsebino Panel D, v kateri sem imel sliko (večji od plošče na ravnanje drsnika k) in nekaj učbenik ... vse od PrintDocument. Hi žal moram nujno pomoč Kaj se zgodi, je Rad bi vedel kako lahko natisnil vsebino Panel D, v kateri sem imel sliko (večji od plošče na ravnanje drsnika k) in nekaj učbenik ... vse od PrintDocument.
najlepša hvala, prvi preprost primer, ki deluje
Hvala. Jasnost in natančnost. Super. Zdaj moram storiti ciklov in filtre, potrebne za tiskanje zapise v zbirki podatkov, ampak da je to zelo jasno, kako izpostavljeni ste našli drugje zelo slabo izpostavljen. Moraš biti učitelj super.
Sem bil vaš primer, če imam vprašanje, tako kot sem lahko tiska alprograma cirle v pravem položaju, moj email je yack7raro@gmail.com če poersona laguna znan kot