Openbare Klasse Form1
Privé Sub (ByVal afzender als System.Object, ByVal e als System.EventArgs) Handvatten Button1_Click Button1.Click
Schemerige strToPrint als Koord = „hier is“ & vbTab & „koord met wat“ & vbTab & _
het „ingebedde lusje houdt“ & vbTab & „en“ & vbCrLf & _ op
vbTab & vbTab & een „nieuwe lijn“ & vbTab & „ook“
Schemerige m_printer als het Nieuwe iHandlePrinting
m_printer.PrinterFont = Nieuwe Doopvont („Nieuwe Koerier“, 9, FontStyle.Bold)
De 'code R van de afgunst VERSUS
m_printer.DefaultPageSettings.Margins.Left = 10
m_printer.DefaultPageSettings.Margins.Top = 10
m_printer.DefaultPageSettings.Margins.Bottom = 50
'Plaats bezit TextToPrint
m_printer.TextToPrint = verwijderen "" & vbCrLf & strToPrint '~~~ in uw code, deze lijn
''' m_printer.TextToPrint = "" & vbCrLf & Me.txt SelectedRecord.Text '~~~ en uncomment deze lijn.
'Plaats de vereiste lusjeeinden. Merk op dat elke lusjespecificatie '~~~ lijnen gelijkend op toevoegt.
'is de compensatie van de vorige tabel '~~~ dit voorafgaand aan het aanhalen
Schemerige sngaTabStops zoals Enig () = {100.0F, 150.0F, 300.0F} '~~~ de methode van de Druk.
m_printer.TabStops = sngaTabStops '~~~
'Het bevel van de Druk van de looppas
m_printer. Druk ()
Sub van het eind
De Klasse van het eind
De invoer System.Drawing
De invoer System.Drawing.Printing
Openbare Klasse die iHandlePrinting: Erft Printing.PrintDocument
#Region de „Variabelen van het Bezit“
'''
''' De variabele van het bezit voor de Doopvont de te gebruiken gebruikerswensen
'''
'''
Privé _font als Doopvont
'''
''' De variabele van het bezit voor de te drukken tekst
'''
'''
Privé _text als Koord
Privé _tabStops als Enig () = {0.0F} '~~~ voegen deze serie toe.
#End gebied
#Region de „Eigenschappen van de Klasse“
De openbare Tabulaties van het Bezit () als Enige () '~~~ voegen dit bezit toe.
Krijg '~~~
Keer _tabStops '~~~ terug
Het eind krijgt '~~~
Reeks (waarde ByVal zoals Enig ()) '~~~
_tabStops = waarde '~~~
De Reeks ' ~~~ van het eind
Het Bezit ' ~~~ van het eind
'''
''' Bezit om de tekst te houden die moet worden gedrukt
'''
'''
''' Een koord
'''
Openbaar Bezit TextToPrint () als Koord
Krijg
Keer _text terug
Het eind krijgt
Reeks (Waarde ByVal als Koord)
_text = Waarde
De Reeks van het eind
Het Bezit van het eind
De Overheidsfunctie ShowPrintDialog () zou als ' Type ~~~* Van Boole moeten worden verklaard!
ShowPrintDialog (me)
Ware terugkeer
De Functie van het eind
De privé Functie ShowPrintDialog (ByRef myDocumentToPrint als PrintDocument) zou als ' Type ~~~* Van Boole moeten worden verklaard!
Schemerige psd als Nieuwe PageSetupDialog
Met psd
.AllowMargins = Waar
.AllowOrientation = Waar
.AllowPaper = Waar
.AllowPrinter = Waar
.ShowHelp = Waar
.ShowNetwork = Waar
. Document = myDocumentToPrint
Eind met
psd.ShowDialog ()
Ware terugkeer
De Functie van het eind
'''
''' Bezit om de doopvont te houden de te gebruiken gebruikerswensen
'''
'''
'''
'''
Openbaar Bezit PrinterFont () als Doopvont
'Staat de gebruiker toe om de standaarddoopvont met voeten te treden
Krijg
Keer _font terug
Het eind krijgt
Reeks (Waarde ByVal als Doopvont)
_font = Waarde
De Reeks van het eind
Het Bezit van het eind
#End gebied
#Region de „Aannemers van de Klasse“
'''
''' Lege aannemer
'''
'''
Openbare Sub Nieuw ()
'Plaats de dossierstroom
MyBase.New ()
'Concretiseer uit het bezit van de Tekst aan een leeg koord
_text = String.Empty
Sub van het eind
'''
''' Aannemer om ons drukvoorwerp te initialiseren
''' en de tekst het heeft verondersteld te drukken
'''
''' Tekst die zal worden gedrukt
'''
Openbare Sub Nieuw (streptokok ByVal als Koord)
'Plaats de dossierstroom
MyBase.New ()
'Plaats onze het bezitswaarde van de Tekst
_text = streptokok
Sub van het eind
#End gebied
#Region „OnBeginPrint“
'''
''' Treed de methode standaard van OnBeginPrint van het Voorwerp PrintDocument met voeten
'''
'''
'''
Beschermd treedt SubOnBeginPrint (ByVal e als Printing.PrintEventArgs) met voeten
'De basiscode van de looppas
MyBase.OnBeginPrint (e)
'Controle om te zien of verstrekte de gebruiker een doopvont
'als zij niet toen blijven wij aan Tijden Nieuwe Romein in gebreke
Als _font dan niets is
'Cre�ër de doopvont die wij hebben gewenst
_font = Nieuwe Doopvont („Tijden Nieuwe Romein“, 10)
Eind als
Sub van het eind
#End gebied
#Region „OnPrintPage“
'''
''' Treed de methode standaard van OnPrintPage van PrintDocument met voeten
'''
'''
''' Dit verstrekt de druklogica voor ons document
Beschermd treedt SubOnPrintPage (ByVal e als Printing.PrintPageEventArgs) met voeten
'De basiscode van de looppas
MyBase.OnPrintPage (e)
'Verklaar lokale variabelen nodig
Statische curChar als Geheel
Schemerige printHeight als Geheel
Schemerige printWidth als Geheel
Schemerige leftMargin als Geheel
Schemerige rightMargin als Geheel
Schemerige lijnen als Int32
Schemerige klusjes als Int32
'Plaats de grootte en de marges van het drukgebied
Met MyBase.DefaultPageSettings
printHeight = .PaperSize.Height -. Margins.Top -. Margins.Bottom
printWidth = .PaperSize.Width -. Margins.Left -. Margins.Right
leftMargin =. Margins.Left 'X
rightMargin =. Margins.Top 'Y
Eind met
'Controle als de gebruiker om op de wijze van het Landschap selecteerde te drukken
'als zij toen moeten wij hoogte/breedte parameters ruilen
Als MyBase.DefaultPageSettings.Landscape toen
Schemerige tmp als Geheel
tmp = printHeight
printHeight = printWidth
printWidth = tmp
Eind als
'Nu moeten wij het totale aantal lijnen bepalen
'wij gaan drukken
Schemerige numLines als Int32 = CInt (printHeight/PrinterFont.Height)
'Cre�ër een rechthoekdruk zijn voor ons document
Verduister printArea als Nieuwe RectangleF (leftMargin, rightMargin, printWidth, printHeight)
'Gebruik de klasse StringFormat voor de tekstlay-out van ons document
Schemerig formaat als Nieuwe StringFormat (StringFormatFlags.LineLimit)
format.SetTabStops (0.0F, _tabStops) '~~~ voegt deze lijn toe.
'Pasvorm zo vele karakters aangezien wij in het drukgebied kunnen
e.Graphics.MeasureString (_text. Substring ((curChar) RemoveZeros), PrinterFont, Nieuwe SizeF (printWidth, printHeight), formaat, klusjes, lijnen)
'Druk de pagina
e.Graphics.DrawString (_text. Substring ((curChar) RemoveZeros), PrinterFont, Brushes.Black, printArea, formaat)
'Huidige het klusjestelling van de verhoging
curChar += klusjes
'Detemine als er meer te drukken tekst is, als
'er zijn vertelt de printer er komend zijn
Als curChar <>
''' Functie om om het even welke nul in de grootte aan a1 te vervangen
''' Nul omhoog het drukgebied zal knoeien
'''
''' Te controleren waarde
'''
'''
Overheidsfunctie RemoveZeros (waarde ByVal als Geheel) als Geheel
'Controle de waarde in de functie wordt overgegaan die,
'als de waarde is keren 0 (nul) dan a1 terug,
'keer anders de binnen overgegaane waarde terug
Selecteer de waarde van het Geval
Geval 0
Terugkeer 1
Geval anders
De waarde van de terugkeer
Uitgezocht eind
De Functie van het eind
#End gebied
De Klasse van het eind
|