Bei Buttondruck den Inhalt einer TexBox zu einem Printdocument hinzufügen

  • VB.NET

Es gibt 54 Antworten in diesem Thema. Der letzte Beitrag () ist von nick2011.

    Ok
    Dann eine Andere Frage ich habe ja bereits diesen Druckcode Dank Euch

    VB.NET-Quellcode

    1. Private Sub PrintDocument1_PrintPage(sender As System.Object, e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    2. e.Graphics.DrawString(TextBox1.Text, New Font("Arial", 12), Brushes.Black, 100, 220)
    3. End Sub

    jetzt ist die Frage:
    ich habe 2 TextBoxen dessen Inhalt nacheinander mit einem Definierten Zeichen gedruckt werden soll aber der Abstand soll immer den Selben Abstand haben egal wie viel in der ersten TextBox Steht
    z.B.
    TextBox1 = Hallo
    TextBox2 = Test

    dann Soll das so aussehen:
    Hallo & Test

    aber wenn in TextBox1 Fancisconader steht soll das auch so aussehen
    Fancisconader & Test
    wie geht das?
    Ich habe mir überlegt für X-Coordinate eine Variable zu nehmen sagen wie xy wie kann ich die Berechnen ?
    Graphics hat eine Methode MeasureString:

    VB.NET-Quellcode

    1. Dim SizeText As SizeF = e.Graphics.MeasureString(txt, font)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Sieh Dir mal dies an:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private Sub Form1_Paint(sender As System.Object, e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
    2. Dim ft As New Font("Arial", 14)
    3. Dim text() As String = {"bla", "heute", "Klöße", "Sonntag"}
    4. Dim x As Single = 30
    5. Dim y As Single = 30
    6. For Each txt In text
    7. e.Graphics.DrawString(txt, ft, Brushes.Black, x, y)
    8. Dim SizeText As SizeF = e.Graphics.MeasureString(txt, ft)
    9. x += SizeText.Width
    10. Next
    11. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hi Leute ich suche jetzt noch eine mgl. einen Text auf der x lang ist auf einem Printdocument zu zentrieren.
    Ich habe zwar diese Antwort gefunden aber habe keinen der zwei Quelltexten kapiert

    HTML-Quellcode

    1. http://www.vb-paradise.de/programmieren/hauptforum/75788-printdocument-graphic-drwawstring-zentrieren/

    und dieser Text soll auch Fett gedruckt werden
    Wo ist das Problem :?:
    Hast Du das mit den TextFormatFlags mal ausprobiert?
    Sieh Dir mal die New-Überladungen von Font an.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Funktioniert mehrzeiliger Ausdruck?
    Wenn Du die Größe abfragst, kannst Du doch über die Printposition den Text zentrieren.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Du hast eine Papierbreite.
    Du hast eine Textbreite.
    Du brauchst StartX.

    VB.NET-Quellcode

    1. StartX = (Papierbreite - Textbreite) / 2F
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ok jetzt hab ich fast alles jetzt aber die nächste Frage:

    ich habe 20 Textboxen mit einem dreistelligen Wert nach dem Komma wenn ich die zusammenrechnenlasse mit:

    VB.NET-Quellcode

    1. GP.Text
    2. = P91 + P92 + P93 + P94 + P95 + P96 + P97 + P98 + P99 + P910 + P911 +
    3. P912 + P913 + P914 + P915 + P916 + P917 + P918 + P919 + P920

    Dann wird gerundet wie kann ich das mit dreistellen nach dem Komma anzeigen und rechnen lassen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „nick2011“ ()

    X( X( X( X( X(
    Trenne Daten und GUI.
    1. hole Dir die Werte und pack sie in entsprechende Double oder Decimal-Variablen.
    2. rechne mit diesen Variablen.
    3. Konvertiere das Ergebnis in einen String zur Ausgabe. So:

    VB.NET-Quellcode

    1. Dim txt As String = meineVariable.ToString("0.000")
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Des geht bei mir net dann sagt des immer:
    Es konnen fehler bei der Kaufzeit auftreten kannst du eine komplettes bsp. machen mit Textbox1.Text = NumericUpDown1.value * NumericUpDown1.value
    und dann noch TextBox1 addiert mit TextBox2 und mit TextBox3 un das ergebnis anzeigen lassen als:
    "12.012"?
    wäre echt nett
    Gib Deinem Programm zunächst Option Strict On, damit Du nicht Äpfel mit Glühbirnen vermengst.
    Beseitige alle angezeigten Fehler und melde Dich danach wieder.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ok habe jetzt herausgefunden wo "Optin Strict On" hin muss aber der bringt mir als 102. Fehlermeldung die maximale Fehlerzahl wurde überschritten vorher waren es keine.
    Da ich fiele abfragen drin habe mit

    VB.NET-Quellcode

    1. If NumericUpDown1.Value > = "1" then
    2. ...
    3. End if

    und ich noch nicht der erfahrenste bin möchte ich dich bitten mir zu sagen wie ich den Fehler
    Fehler 1 "Option Strict On" lässt keine impliziten Konvertierungen von String in Double zu.
    Korrigieren kann.
    Vielleicht so:

    VB.NET-Quellcode

    1. If NumericUpDown1.Value > = 1 then
    2. ...
    3. End if
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!