eine textbox drucken

  • VB.NET

Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von JavaWooky.

    So ich hab dir mal ein paar Zeilen Code gemacht:

    Auf meinem Formular liegen eine Textbox - Name: tbEingabe
    Und ein Button - Name: bnDrucken
    Dann hab ich auch noch ein PrintDocument auf mein Formular gesetzt: Name: PrintDocument1

    So das für den Anfang.

    Hier der Quellcode:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub bnDrucken_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnDrucken.Click
    3. PrintDocument1.Print()
    4. End Sub
    5. Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    6. e.Graphics.DrawString(tbEingabe.Text, New Font("Arial", 15, FontStyle.Bold), Brushes.Black, 10, 10)
    7. End Sub
    8. End Class


    bei

    VB.NET-Quellcode

    1. e.Graphics.DrawString(tbEingabe.Text, New Font("Arial", 15, FontStyle.Bold), Brushes.Black, 10, 10)

    übergibts du der Methode den String, den Font, die Farbe, und die Position(x,y).

    MFG
    Fab
    ;)
    Nabend zusammen,

    ich bin auch neu hier im Forum und bin gerade wieder dabei meine Leidenschaft fürs Programmieren zu entdecken und stoße auch schon auf das ein oder andere Problem. Und zwar hab ich jetzt schon alllleeeesss mögliche ausprobiert und nachgelesen und so weiter zum Thema drucken bzw. drucken einer Textbox, aber ich kriegs einfach nicht gebacken. Es kommt bei mir immer nur eine leere Seite aus dem Drucker.
    Ich hab auch schon die Codezeilen aus dem Beitrag hier probiert bei mir zu implementieren, aber es will einfach nicht den Text aus meiner Texbox drucken.

    Bei meinem kleinen Programm ist es auch so das ich aus verschiedenen Textfeldern Zahlen + Sätze übernehme und diese dann jeweils untereinander in eine Vorschau Textbox schiebe. Bzw man kann auf Vorschau klicken und in der Textbox erscheint dann der ganze Text bzw die einzelnen Zeilen untereinander. Also in dem Fall sind es 9 Zeilen untereinander. Soviel zur Vorgeschichte.
    Es soll also so sein das die Werte bzw die Sätze dann dort in der Textbox erscheinen wenn man auf Vorschau klickt....(das funktioniert soweit auch schon alles) und wenn man dann auf den Button "Drucken" klickt, soll dieser Inhalt, also diese Liste dann auch auf dem Drucken ausgegeben werden. Aber bisher kommt ausser ner leeren Seit nix bei raus :/ ich hab die Befehlszeilen genommen die hier stehen und das einzige was ich geändert habe ist eben der name der Textbox die er ausdrucken soll. Was könnte da noch für ein Fehler vorliegen?! Irgendwelche Ideen?

    Grüße

    Der Wooky
    hallo javawooky,

    zuerst, alles was du druckst musst du erst einmal als graphic vorliegen haben ! ;(
    siehe beitrag von fab.

    wenn du eine vorschau erstellen willst, macht es also sinn diese als graphic anzeigen zu lassen.
    immerhin will der user sehen was später auf dem papier erscheint.

    dafür gibt es das in der toolbox den printpreviewdialog.

    gruss

    mikeb69
    Hallo Mike69,

    hmm ich glaub das kam irgendwie falsch rüber :) Also ich will keine Druckvorschau anzeigen lassen sondern den Text den ich in einer Textbox dort als Vorschau anzeigen lasse, dann eben über den Drucken Button an den Drucker schicken.

    Also vielleicht nochmal anders: Ich gebe text ein und wenn ich auf den Vorschau Button drücke, dann erscheint dieser Text in einer großen Textbox. Dieser dort erschienene Text soll dann mit klick auf den Button "Drucken" auf dem Drucker ausgegeben werden. Ich habe dann einfach mal zum Testen den Code hier ein paar Beiträge drüber übernommen und eben nur den Namen der Textbox angepasst. Als die ganze draw image sache ist ja schon gegeben. Nur wenn ich dann auf Drucken klicke kommt nur ein weißes Blatt. Er macht also aus dem Textbox inhalt kein Bild anscheind. ich hab schon verschiedene Sachen wie gesagt ausgetestet, aber es kommt immer nur nen leeres Blatt.

    :) Schwieriger Fall wie es aussieht aber ich vermute die Lösung ist tota simpel :D

    Grüße

    Der Wooky
    hallo javawocky,

    ich hab dich nicht falsch verstanden.

    warum willst du es in einer textbox als text anzeigen, wenn du es am ende als grafik senden musst.
    da würde man doch meinen, eine picturebox oder eben das control aus der toolbox sind für diesen fall besser geeignet.

    gruss

    mikeb69
    hai !
    probiere es damit:

    VB.NET-Quellcode

    1. Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    2. e.Graphics.DrawString("DeinText", New Font("Tahoma", 10, FontStyle.Regular, GraphicsUnit.Point), Brushes.Red, 0, 0)
    3. End Sub
    4. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    5. If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    6. PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings
    7. PrintDocument1.Print()
    8. End If
    9. End Sub



    Mfg Alex
    Ein weiteres Hallo zusammen :)

    Ich hab euch jetzt einfach mal einen Screenshot vom Grundaufbau gemacht. Also es geht eben wie man sieht um eine Liste zum samstäglichen Brötchen besorgen für die Familie :) Und ich dachte mir ich mach mal ein kleines Programm dafür dann können meine Eltern mir die Liste direkt drucken, weil sie dauernd mal mehr und mal weniger von einer Sorte haben wollen :D Naja sieht noch nach nix aus, aber ich denke so kann man besser verstehen wie ich das meine.

    Grüße

    Der Wooky

    Hallo Mike,

    joa ich hab mittlerweile auch schon ein schickes Hintergrundbild drin und kleinkrams. Also wie du siehst ist ja in der großen Textbox eben der Text dann drin wenn man auf Vorschau klickt. Und genau den Text will ich dann auf den Drucker ausgeben wenn man auf drucken klickt. Aber er gibt mir eben nicht das wieder was dann in der Textbox steht. Auch wenn ich das so übernehme an Code was ihr mir hier so vorgeschlagen habt :)

    Grüße

    Der Wooky
    hallo javawooky,

    ich kann mich nur immer wiederholen.
    nimm für die vorschau keine textbox, sondern bastle dir eine graphic.
    die kannst du bequem per picturebox anzeigen und an den drucker schicken.

    dann sieht das auf dem drucker genauso aus, wie das in deiner vorschau.

    und sag nicht, dass ich dich nicht verstanden habe. ;)

    gruss

    mikeb69
    @Mikeb69

    Ja das kann ich schon so machen, aber wie gesagt ein Bild kann ich nicht direkt beschreiben weiter. So könnte ich ja manuell noch text in die Textbox schreiben ;) Also unter meine liste in der Vorschau dann einfach noch was drunter schreiben. Wenn ich das per Picturebox mache als Vorschau, dann müsste ich noch ein textfeld erstellen in den man dann optional noch was schreiben kann und das dann mit in die Vorschau übernommen wird. Hmm wobei das vielleicht die einfachere Lösung wäre glaub ich langsam :) Ich hab das mit deinem Code versucht @Alex aber ich bekomme dann Fehlermeldungen. Ich glaub ich habs mitlerweile schon so strubbelig das ich lieber nochmal von vorne anfange :D
    Ich mach alles nochmal komplett neu und lass es euch wissen wenns funktioniert hat :)

    Danke erstmal für die Unterstützung :)

    Der Wooky
    @Alex

    Super klasse...du hattest Recht es funktioniert mit dem Code. Ich Stoffel hatte den Printdialog1 nicht implementiert und ausserdem vergessen auf Printdocument1 zu verweisen :) Jetzt hat er den Inhalt ausgedruckt. Und ich dachte schon ich bin völlig Banane :whistling:
    Aber nichts desto Trotz ich werde das mit der Picturebox als Vorschau auch mal austesten.

    Danke erstmal an Euch beide und einen schönen Sonntag Abend noch.

    Der Wooky :thumbup:
    Hallo Leute,
    ich weiß, dasss ist ein ziemlich alter Thread.
    Trotzdem wollte ich nocheinmal Fragen, wass ich statt "Thaoma" schreiben muss, wenn ich es mit der Schriftart drucken will, die schon vorher ausgewählt wurde?
    Außerdem:
    Was muss ich eingeben wenn ich auch die Schrift-größe, die schon vorher bewählt wurde, drucken lassen möchte?

    Kann mir dazu jemand den Code posten?
    Dafür wäre ich echt dankbar!

    Gruß
    programm-macher
    Hallo zusammen,

    nach ewigen Zeiten melde ich mich dann auch mal wieder zurück und bringe auch direkt ein neues "kleines" Problem mit ;) Oder sagen wir nicht Problem, eher ein für mich doch recht kiffliges Rätzel.

    Ich habe ja damals dieses kleine Programm gebastelt zum ausdrucken der Brötchenliste für den Samstag morgen einkauf...jetzt hab ich mich da mal wieder ran gesetzt, weil es doch ganz praktisch ist und hab mir gedacht es wäre doch vielleicht nicht schlecht wenn man einzelne "Brötchenarten" ausblenden könnte wenn man die nun mal grad an dem Samstag nicht unbedingt haben will, also hab ich jeder Zeile noch eine Checkbox spendiert und das ganze schonmal so umgeschrieben das wenn man keinen Haken in die Box setzt, das dann die zu der Zeile gehörige kleine Textbox deaktiviert und eben grau hinterlegt ist. Man also dann auch nix eintragen kann.
    Und jetzt kommt der haken an der Sache..... wenn ich nun sagen wir mal die ersten beiden nicht anhake, folglich die Textbox inaktiv bleibt, dann schreibt er mir immer noch in die Vorschaubox den Text aus dem Label rein ;) nur eben ohne Zahl dahinter. Denn ich habe das ja so gestalltet das da zum Beispiel im Code steht das er den Labeltext + den "Text" aus der dazugehörigen textbox nehmen soll und in die Vorschauliste eintragen soll und dann eben eine neue Zeile anfängt für das nächste was kommt.
    Was mir jetzt leider an Wissen fehlt ist, wie ich dem Programm beibringe das es nur DANN das Label + den Text ausgibt, wenn die Checkbox angehakt ist?! Ich habs schon mit ner megacodezeile oder eher Zeilen im Sinne von IF....Else.... versucht und auch mal mit der Case funktion. Beide hatten ein ähnliches Problem..bei der IF Geschichte bekam ich irgendwie immer nur die letzte Zeit im Vorschau Fenster angezeigt und bei der Case Geschichte immer nur die Erste.

    Ich will jetzt auch nicht unbedingt ne fertige Lösung, aber vielleicht gebt ihr mir den richtigen Wink oder Funktion mit der das lösbar wäre :)

    Schönen Samstag

    der Wooky