2016-11-09 7 views
-2

Nach der Transaktion möchte ich alle meine Text aus der Textbox automatisch drucken. Aber mein Code funktioniert nicht. Bitte jemand mir helfen, eine Lösung oder eine andere Art und Weise zu finden, den Text mit einem beliebigen DruckerWie drucke ich einen Text aus einem Textfeld mit Vb.net?

Eingang zu drucken: TextBox4.Text = „asdf“ Ausgang: asdf (auf einer gedruckten Seite)

-Code

RequiredFieldsGovPriv()  
Printer.Print(TextBox3.Text) 
Printer.EndDoc 
+0

Verwenden Sie diesen Link (http://stackoverflow.com/questions/4168117/printing-with-vb-net). Fügen Sie diese Klasse zu Ihrem Projekt hinzu und rufen Sie dann prt() auf, wenn Sie den Text ausdrucken möchten. Als Druckername können Sie 'PrinterSettings.InstalledPrinters.Item (0)' für den Standarddrucker des Computers verwenden. In diesem Fall müssen Sie 'System.Drawing.Printing' importieren. – HaPhan

+0

Es funktioniert nicht und es ist ein Fehler aufgetreten "Die Einstellungen für den Zugriff auf den Drucker 'Druckername' sind nicht gültig." @ HaPhan – Mikelemuel

+0

, da auf Ihrem Computer kein Drucker mit dem Namen "PrinterName" vorhanden ist. Sie müssen es durch den Namen des Druckers ersetzen, der im Bereich "Geräte und Drucker" angezeigt wurde. Oder ersetzen Sie es mit der InstalledPrinters-Eigenschaft, wie ich es vorgeschlagen habe. In diesem Fall funktioniert es mit jedem Computer, der über einen Standarddrucker verfügt. – HaPhan

Antwort

0

Mit der Begrenzung eines Kommentars, ich also hier den Code nicht veröffentlichen können ist der ganze Code, um den Drucker zu nennen:

Public Class myPrinter 
    Friend TextToBePrinted As String 
    Public Sub print(ByVal text As String) 
     TextToBePrinted = text 
     Dim prn As New Printing.PrintDocument 
     Using (prn) 
      prn.PrinterSettings.PrinterName = PrinterSettings.InstalledPrinters.Item(0) 
      AddHandler prn.PrintPage, AddressOf Me.PrintPageHandler 
      prn.Print() 
      RemoveHandler prn.PrintPage, AddressOf Me.PrintPageHandler 
     End Using 
    End Sub 

    Private Sub PrintPageHandler(ByVal sender As Object, ByVal args As Printing.PrintPageEventArgs) 
     Dim myFont As New Font("Microsoft San Serif", 10) 
     args.Graphics.DrawString(TextToBePrinted, New Font(myFont, FontStyle.Regular), Brushes.Black, 50, 50) 
    End Sub 
End Class 

Und dann ...

'working code 
RequiredFieldsGovPriv() 'your sub 
Dim mprinter As New myPrinter 
mprinter.print(txttextbox.Text) 
'Continue to work... 

Dieser Code funktionierte in meinem Projekt gut. Wenn Sie immer noch nicht drucken können, senden Sie Ihre Fehlermeldung oder einen Screenshot von dem, was Ihr Programm macht, wenn Sie die Druckfunktion aufrufen.

Verwandte Themen