Classe publique Form1
Le sous-marin privé Button1_Click (expéditeur de ByVal comme System.Object, ByVal e comme System.EventArgs) manipule Button1.Click
Le faible strToPrint comme corde = « voici » et vbTab et « corde avec le quelque » et vbTab et _
« a inclus les arrêts de tabulatrice » et le vbTab et « et » et le vbCrLf et le _
vbTab et vbTab et « une nouvelle ligne » et vbTab et « trop »
Faible m_printer comme nouvel iHandlePrinting
m_printer.PrinterFont = nouvelle police (« courier nouveau », 9, FontStyle.Bold)
'Code R d'envie CONTRE
m_printer.DefaultPageSettings.Margins.Left = 10
m_printer.DefaultPageSettings.Margins.Top = 10
m_printer.DefaultPageSettings.Margins.Bottom = 50
'Placer la propriété de TextToPrint
m_printer.TextToPrint = ~~~ de "" et de vbCrLf et de strToPrint 'en votre code, enlèvent cette ligne
''' m_printer.TextToPrint = "" et vbCrLf et ~~~ et uncomment de Me.txt SelectedRecord.Text 'cette ligne.
'Placer les arrêts de tabulatrice required. Noter que ~~~ de chaque spécifications d'étiquette le 'ajoutent des lignes semblables à.
'est l'excentrage ~~~ de tableau précédente 'ceci avant d'appeler
Faibles sngaTabStops comme simples () = {100.0F, 150.0F, 300.0F} '~~~ la méthode d'impression.
m_printer.TabStops = ~~~ de sngaTabStops '
'Courir la commande print
m_printer. Copie ()
Sous-marin d'extrémité
Classe d'extrémité
Importations System.Drawing
Importations System.Drawing.Printing
Classe publique iHandlePrinting : Hérite de Printing.PrintDocument
#Region « variables de propriété »
'''
Variable de propriété de ''' pour la police que l'utilisateur souhaite employer
'''
'''
_font privé comme police
'''
La variable de propriété de ''' pour le texte à soit imprimée
'''
'''
_text privé comme corde
Les _tabStops privés en tant que simple () = {0.0F} '~~~ ajoutent cette rangée.
Région de #End
#Region « propriétés de classe »
Les tabulations de propriété publique () en tant que () ' ~~~ simple ajoutent cette propriété.
Obtenir le '~~~
~~~ renvoyer _tabStops '
L'extrémité obtiennent le '~~~
Ensemble (valeur de ByVal comme simple ()) '~~~
_tabStops = ~~~ de valeur '
'~~~ réglé par extrémité
~~~ de propriété d'extrémité '
'''
Propriété de ''' pour stocker le texte qui doit être imprimé
'''
'''
Corde du ''' A
'''
Propriété publique TextToPrint () comme corde
Obtenir
Renvoyer le _text
L'extrémité obtiennent
Placer (valeur de ByVal comme corde)
_text = valeur
Ensemble d'extrémité
Propriété d'extrémité
La fonction publique ShowPrintDialog () en tant que ' type booléen de ~~~* devrait être déclarée !
ShowPrintDialog (je)
De retour rectifier
Finir la fonction
La fonction privée ShowPrintDialog (myDocumentToPrint de ByRef comme PrintDocument) en tant que ' type booléen de ~~~* devrait être déclarée !
Faible psd en tant que nouveau PageSetupDialog
Avec le psd
.AllowMargins = rectifient
.AllowOrientation = rectifient
.AllowPaper = rectifient
.AllowPrinter = rectifient
.ShowHelp = rectifient
.ShowNetwork = rectifient
. Document = myDocumentToPrint
Extrémité avec
psd.ShowDialog ()
De retour rectifier
Finir la fonction
'''
Propriété de ''' pour tenir la police que les utilisateurs souhaite employer
'''
'''
'''
'''
Propriété publique PrinterFont () comme police
'Permet à l'utilisateur de dépasser la police de défaut
Obtenir
Renvoyer le _font
L'extrémité obtiennent
Placer (valeur de ByVal comme police)
_font = valeur
Ensemble d'extrémité
Propriété d'extrémité
Région de #End
#Region « constructeurs de classe »
'''
Constructeur vide de '''
'''
'''
Nouveaux secondaires publics ()
'Placer le jet de dossier
MyBase.New ()
'Instancier dehors la propriété des textes à une corde vide
_text = String.Empty
Sous-marin d'extrémité
'''
Constructeur de ''' pour initialiser notre objet d'impression
''' et le texte qu'il a supposé pour être impression
'''
Texte de ''' qui sera imprimé
'''
Nouveau secondaire public (streptocoque de ByVal comme corde)
'Placer le jet de dossier
MyBase.New ()
'Placer nos valeurs d'une propriété des textes
_text = streptocoque
Sous-marin d'extrémité
Région de #End
#Region « OnBeginPrint »
'''
Dépassement de ''' la méthode d'OnBeginPrint de défaut d'objet de PrintDocument
'''
'''
'''
Protégé dépasse OnBeginPrint secondaire (ByVal e comme Printing.PrintEventArgs)
'Courir le code bas
MyBase.OnBeginPrint (e)
'Vérifier pour voir si l'utilisateur fournissait une police
's'ils ne faisaient pas puis nous nous transférons sur Times New Roman
Si le _font n'est rien alors
'Créer la police que nous avons besoin
_font = nouvelle police (« Times New Roman », 10)
Finir si
Finir le sous-marin
Région de #End
#Region « OnPrintPage »
'''
Dépassement de ''' la méthode d'OnPrintPage de défaut de PrintDocument
'''
'''
Le ''' ceci fournit la logique d'impression pour notre document
Protégé dépasse OnPrintPage secondaire (ByVal e comme Printing.PrintPageEventArgs)
'Courir le code bas
MyBase.OnPrintPage (e)
'Déclarer les variables locales requises
curChar statique comme nombre entier
Faible printHeight comme nombre entier
Faible printWidth comme nombre entier
Faible leftMargin comme nombre entier
Faible rightMargin comme nombre entier
Faibles lignes comme Int32
Obscurcir les chars comme Int32
'Placer la taille et les marges de secteur d'impression
Avec MyBase.DefaultPageSettings
printHeight = .PaperSize.Height -. Margins.Top -. Margins.Bottom
printWidth = .PaperSize.Width -. Margins.Left -. Margins.Right
leftMargin =. Margins.Left 'X
rightMargin =. Margins.Top 'Y
Extrémité avec
'Vérifier si l'utilisateur choisi imprimer dans l'en largeur
's'ils faisaient alors nous devons permuter des paramètres de taille/largeur
Si MyBase.DefaultPageSettings.Landscape alors
Faible tmp comme nombre entier
tmp = printHeight
printHeight = printWidth
printWidth = tmp
Finir si
'Maintenant nous devons déterminer tout le nombre de lignes
'nous allons être impression
Faibles numLines en tant qu'Int32 = CInt (printHeight/PrinterFont.Height)
'Créer une impression de rectangle sont pour notre document
Obscurcir le printArea en tant que nouveau RectangleF (leftMargin, rightMargin, printWidth, printHeight)
'Employer la classe de StringFormat pour la disposition des textes de notre document
Obscurcir le format en tant que nouveau StringFormat (StringFormatFlags.LineLimit)
~~~ de format.SetTabStops (0.0F, _tabStops ) le 'ajoutent cette ligne.
'Adapter autant de caractères comme nous pouvons dans le secteur d'impression
e.Graphics.MeasureString (_text. Sous-chaîne (RemoveZeros (curChar)), PrinterFont, nouveau SizeF (printWidth, printHeight), format, chars, lignes)
'Imprimer la page
e.Graphics.DrawString (_text. Sous-chaîne (RemoveZeros (curChar)), PrinterFont, Brushes.Black, printArea, format)
'Augmenter le compte courant de char
chars curChar de +=
'Detemine s'il y a plus de texte à imprimer, si
'il y a le dire que l'imprimeur là est plus venant
Si curChar <>
Fonction de ''' pour remplacer tous zéros dedans la taille à un 1
Le ''' zéro salira vers le haut le secteur d'impression
'''
Valeur de ''' à vérifier
'''
'''
Fonction publique RemoveZeros (valeur de ByVal comme nombre entier) comme nombre entier
'Vérifier la valeur passée dans la fonction,
'si la valeur est un 0 (zéro) puis renvoyer un 1,
'autrement retour que la valeur a passé dedans
Choisir la valeur de cas
Affaire 0
Retour 1
Cas autrement
Valeur de retour
Extrémité choisie
Fonction de fin
Région de #End
Classe d'extrémité
|