Dette er ment å være en svært enkel og kortfattet i Visual Basic. net . Lett å forstå fort at det fungerer og kort (med svært lite kode) slik at ingenting hindrer oss da for å sette vår personlige touch. Programmerere er veldig kreativ, og jeg tilbrakte mange ganger jeg møtte med svært komplekse og fylt med eksempler på kode, som jeg hadde til å dissekere og analysere deler for å forstå sin drift. Så jeg prøver å legge all min post i konkrete eksempler og enkle å betjene med bare kopiere, lime inn og gjøre en konfigurasjon mimina kontroller.
Vi trenger:
En WinForm (Form1), en kontroll PrintDocument (PrintDocument1), en PrintDialog (PrintDialog1), en TextBox (TextBox1) og en knapp (Button1). Skjemaet bør ligne på dette bildet:

Kopier følgende kode i klikk tilfelle Button1
Så hvis PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings PrintDocument1.Print () End If
at det ikke åpnes er dialogboksen for å velge skriveren og deretter passerer hele konfigurasjonen passerer PrintDocument objektet valgt, og deretter forteller deg ut. Hva utløser hendelsen PrintPage PrintDocument.
Nå objektet PrintDocument1 dobbelklikk og lim inn følgende kode
e.Graphics.DrawString (TextBox1.Text, ny skrift ("Verdana", 18, FontStyle.Bold) Brushes.Black, 10, 10) For jeg As Integer = 1 til 10 e.Graphics.DrawString ("Sample linje:" & i, ny skrift ("Tahoma", 10, FontStyle.Bold) Brushes.Black, 10, 20 + (i * 30)) Neste
Når du kjører denne utskrifter innholdet i boksen som tittelen på siden og ti linjer med forskjellige utvalg og furnte og størrelse. Resultatet vil ligne på følgende bilde:

mer informasjon om kontrollene ...
PrintDialog Komponent (Windows Forms)
Den PrintDialog komponent i Windows Forms er en forhåndskonfigurert dialogboksen brukes til å velge en skriver, velge hvilke sider som skal skrives ut og fastsette andre innstillinger relatert til utskrift i Windows-baserte applikasjoner. Bruk den som en enkel løsning for å velge skriverinnstillinger eller knyttet til skriveren, i stedet for å sette opp en dialogboks selv. Du kan tillate brukerne å skrive ut ulike deler av sine dokumenter: ut alle, skrive ut angitte området sider eller skrive ut et utvalg. Ved å stole på standard dialogbokser Windows, lage programmer som grunnleggende funksjonalitet er umiddelbart kjent for brukerne.
PrintDocument Komponent (Windows Forms)
Den PrintDocument komponent i Windows Forms brukes til å angi egenskapene som beskriver hva du skal skrive ut og deretter skrive ut dokumentet i Windows-baserte applikasjoner.
Vel som jeg gikk rundt innlegget og ingen svarte på som det gjør å skrive ut flere sider, ga jeg meg selv i oppgave å undersøke andre steder og jeg fant en kode, men dette komplekset medium for enterlo lett slik det modique eksempelet som kjører her, så det er mine to cents, og jeg håper og jeg forstår okas
«Denne variabelen må offentliggjøres
Dim linje As Integer = 1
PrintDocument1_PrintPage Private Sub (ByVal sender Som System.Object, ByVal e Som System.Drawing.Printing.PrintPageEventArgs) håndterer PrintDocument1.PrintPage
«Vi definerer skrifttype og mer
Dim Source Som ny skrift ("Arial", 10)
"Vi definerer at posisjon vil starte utskriften
Dim posisjon As Integer = 20
«Greven av linjer skrives
Lineaimpresa Dim As Integer = 0
'Variabel å se når du tar en porsjon side
Dim som boolske = False salto_pagina
'Variabel å angi hvor mange linjer til å skrive ut per ark
NroLineasPagina Dim As Integer = 70
For i = linje til 150
e.Graphics.DrawString ("Sample linje:" & linje, Kilde, Brushes.Black, 10, posisjon)
posisjon + = 15
linje + = 1
lineaimpresa + = 1
Så hvis lineaimpresa = NroLineasPagina
salto_pagina = True
Avslutt For
End If
Neste
Hvis salto_pagina = sant så
e.HasMorePages = True
Else
e.HasMorePages = False
End If
End Sub
Vel jeg håper og tjene dem og deres behov for å tilpasse okas Byes
Takk for hjelpen.
Av alt er bare å lage noe som gir mange sider som agredicimiento bistand og det er å gjøre noe
som jeg kan skrive ut
Importen System.IO
Offentlig Class frmDesCaratula
StringToPrint As String Private
Private Sub frmDesCaratula_Load (avsenderen som objekt, e Som System.EventArgs) Handles MyBase.Load
Me.MdiParent = mdiPrincipal
End Sub
Private Sub Button1_Click (avsenderen som objekt, e Som System.EventArgs) Handles Button1.Click
Så hvis ptdConfiguracion.ShowDialog = Windows.Forms.DialogResult.OK
ptdDocumento.PrinterSettings = ptdConfiguracion.PrinterSettings
ptdDocumento.Print ()
End If
End Sub
Private Sub PrintDocument1_PrintPage (avsenderen som objekt, e Som System.Drawing.Printing.PrintPageEventArgs) håndterer ptdDocumento.PrintPage
e.Graphics.DrawString (TextBox1.Text, ny skrift ("Verdana", 18, FontStyle.Bold) Brushes.Black, 10, 10)
For jeg As Integer = 1 til 10
e.Graphics.DrawString ("Sample linje:" & i, ny skrift ("Tahoma", 10, FontStyle.Bold) Brushes.Black, 10, 20 + (i * 30))
Neste
'----- ALL Skrive ut et dokument
«Dim As Integer = 0 charactersOnPage
«Dim As Integer = 0 linesPerPage
«Angir verdien av antall charactersOnPage til tegn
"Det vil passe for stringToPrint innenfor grensene av siden.
«E.Graphics.MeasureString (stringToPrint, Me.Font, e.MarginBounds.Size, _
«StringFormat.GenericTypographic, charactersOnPage, linesPerPage)
"Tegner streng innenfor grensene av siden
«E.Graphics.DrawString (stringToPrint, Me.Font, Brushes.Black, _
«E.MarginBounds, StringFormat.GenericTypographic)
Fjern den delen av strengen som har blitt skrevet ut.
'StringToPrint = stringToPrint.Substring (charactersOnPage)
«Sjekk om flere sider skal skrives ut.
'E.HasMorePages = stringToPrint.Length> 0
End Sub
Private Sub Button2_Click (avsenderen som objekt, e Som System.EventArgs) håndterer Button2.Click
ReadFile ()
ptdDocumento.Print ()
End Sub
Private Sub ReadFile ()
DocName Dim As String = "index.html"
DocPath Dim As String = "G: \"
ptdDocumento.DocumentName = docName
Dim bekk som ny FileStream (DocPath + docName, FileMode.Open)
Prøv
Dim Reader som New StreamReader (stream)
Prøv
reader.ReadToEnd stringToPrint = ()
Endelig
reader.Dispose ()
Avslutt Prøv
Endelig
stream.Dispose ()
Avslutt Prøv
End Sub
Private Sub Button3_Click (avsenderen som objekt, e Som System.EventArgs) håndterer Button3.Click
ppdVista.Document = ptdDocumento
ppdVista.ShowDialog ()
End Sub
Slutt Klasse
Dette fungerte for meg, trenger du en texbox: TextBox1
PrintDocument: ptdDocumento
PrintPreviewControl: ppdVista
PrintDialog: ptdConfiguracion
Interessant artikkel, men lurer på hvordan vi bør handle mer profesjonelle miljøer som for eksempel trykking av billetter, kvitteringer, fakturaer eller kontrollere sjekker om skriveren er tilkoblet og har papir eller impreison Mido av trykkeriet ble stoppet dem for noen feil.
Spar hacerca av det du nevner som jeg har prøvd mange ganger uten hell dette og har ikke funnet noe å løse dette problemet.
Hilsener.
Åtte. Kevin Ramirez
God morgen, ville vite om du hadde noen tutorials slik at du kan skrive ut innholdet i en datagridview fordi alt jeg finner på internett er mye kode og kunne kjøre noe eh!.
Jeg setter stor pris på om du hadde informasjon om det.
Hilsen
Kjære, jeg har programmering i over 10 år hos Microsoft, gikk gjennom VB6 og nå er jeg med VS2010.
Jeg har ikke funnet noen verktøy mer fleksibel PrintDocument til rapporter, er det ingenting at han ikke kunne gjøre.
Hvis du har spørsmål kan du kontakte meg.
hilsen
God morgen Manuel, ville jeg tilbringe en kontakt e-post til å være mer i tråd og så gi meg en hånd?
Tusen takk
Jeg la min
francocsanchez@gmail.com
Det er svært nødvendig: T
Vel Manuel agredece du mye for det svaret som jeg befaler meg som en e-post eller kontakt facilitaras meg fordi jeg har omtrent seks måneder inn i dette.
Og jeg tror en av noen profesjonell veiledning jeg kunne bruke.
Jeg forlater posten min.
kevinramirez92@hotmail.com
Hilsener.
Åtte. Kevin Ramirez.
Manuel Jeg trenger hjelp til å skrive ut innholdet i en datagridview!.
Kan du gi meg en hånd?
francocsanchez@gmail.com
Hilsener.
Q est er at posten min noen ganger bare trenger hjelp for automatisk utskrift i Visual Basic 2010.
Luis_Cepedaf@hotmail.com
Noen spesifikk biblioteket for å laste tekstboksen verdier i et Excel dokument og dimensjoner angitt i henhold til immpresora.
Takk
Hei beklager at jeg trenger øyeblikkelig hjelp Hva skjer er at jeg ønsker å vite hvordan jeg kan skrive ut innholdet panel d der jeg har et bilde (større enn panelet på håndtering scrollbar k) og noen lærebok ... alt fra en PrintDocument. Hei beklager at jeg trenger øyeblikkelig hjelp Hva skjer er at jeg ønsker å vite hvordan jeg kan skrive ut innholdet panel d der jeg har et bilde (større enn panelet på håndtering scrollbar k) og noen lærebok ... alt fra en PrintDocument. Hei beklager at jeg trenger øyeblikkelig hjelp Hva skjer er at jeg ønsker å vite hvordan jeg kan skrive ut innholdet panel d der jeg har et bilde (større enn panelet på håndtering scrollbar k) og noen lærebok ... alt fra en PrintDocument.
tusen takk, første enkelt eksempel som fungerer
Takk. Klarhet og stringens. Flott. Nå må jeg gjøre de sykluser og filtre er nødvendig for å skrive ut poster i en database, men at dette svært tydelig hvordan utsatt du har funnet sted svært svakt eksponert. Du må være en lærer god.
Jeg serverte ditt eksempel hvis jeg har et spørsmål som jeg kan av alprograma cirle print til riktig posisjon min e er yack7raro@gmail.com hvis poersona lagune kjent som