none
RichTextBox drucken? Speichern? Datei in RichTextBox öffnen RRS feed

  • Frage

  • Hallo alle zusammen,

    ich bin gerade an einem großen Projekt.
    Ich bräuchte aber etwas Hilfe... Wie kann ich eine RichTextBox1 drucken, speichern und eine Datei mit der RichTextBox1 öffnen? ich habe es schon mit allen Codes die mir dazu einfallen probiert, es steht auch nicht unter http://msdn.microsoft.com/de-de/library/3tdc88y7.aspx  ich finde es einfach nicht!

    Könnt ihr mir bitte den Code hier hin schreiben? Ich kann mit einem Code mehr anfangen als mit einem Link =))



    Vieleeee Grüße, Stephan R.
    Montag, 27. Oktober 2008 18:30

Antworten

  • Nur der Vollständigkeit halber hier auch eine Methode, die RichTextBox mit ihrer angezeigten Formatierung zu drucken:

    Getting WYSIWYG Print Results from a .NET RichTextBox
    http://msdn.microsoft.com/en-us/library/ms996492.aspx

    Denke aber nicht, dass der Thread-Starter das noch liest, da dieser seine Frage vor knapp 2 Jahren hier gestellt hat.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    Samstag, 10. April 2010 08:51
  • Hallo zusammen,

    mein gänderter Code. (Den oben habe ich zurückgenommen)

    So geht es viel einfacher. (danke Thorsten)

    Nur mit den Richtextbox klassen.

    Grüsse

    Ellen

    Das folgende Programm benötigt eine Form mit 3 Buttons und eine Richtextbox.

    Bei der ersten Ausführung von Button1.click wird es einen Ausnahmefehler geben.

    Datei nicht vorhanden

    Ich gehe davon aus, dass Ihr wisst wie man damit umgeht. Deshalb habe ich auch verzichtet dieses

    detailiert zu codieren

     

    Public Class Form1
     
        Private Sub Button3_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) _
                                  Handles Button3.Click
            RichTextBox1.Clear()
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) _
                                  Handles Button2.Click
            'Richtextbox abspeichern
            RichTextBox1.SaveFile("D:\daten.txt", RichTextBoxStreamType.PlainText)
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) _
                                  Handles Button1.Click
            'Richtextbox laden
            RichTextBox1.LoadFile("D:\daten.txt", RichTextBoxStreamType.PlainText)
        End Sub
    End Class

     

    Samstag, 10. April 2010 12:54

Alle Antworten

  •  

    Speichern:

    Dim SaveFile As New SaveFileDialog
            SaveFile.FileName = " "
            SaveFile.Filter = "Rich-Text-Dokumente (*.rtf) |*.rtf"
            SaveFile.Title = "Speichern unter"
            SaveFile.ShowDialog()
            Try
                Dim Write As New System.IO.StreamWriter(SaveFile.FileName)
                Write.Write(RichTextBox1.Text)
                Write.Close()
            Catch ex As Exception
            End Try

    Öffnen:

     Dim OpenFile As New OpenFileDialog
            OpenFile.FileName = " "
            OpenFile.Filter = "Rich-Text-Dokumente (*.rtf) |*rtf"
            OpenFile.Title = "Öffnen"
            OpenFile.ShowDialog()
            Try
                Dim Read As New System.IO.StreamReader(OpenFile.FileName)
                RichTextBox1.Text = Read.ReadToEnd
                Read.Close()
            Catch ex As Exception
            End Try

    Drucken weiß ich nicht

    Freitag, 9. April 2010 06:54
  • Hallo Application-Developer, am Drucken beiße ich mir auch gerade die Zähne aus. Da findest du hier auch eine Menge guter beiträge von Elmar Boy mit guten Links. Drucken ist aber extrem komplex. Es kommt darauf an was du drucken möchtest. Das Problem besteht darin, dass die Vorlage ja veränderlich ist. Seitengröße, Blattränder, Kopf- und Fußzeile, Schriftgröße und -Font, einseitigier oder merhseitiger Druck. Druck mit oder ohne Grafik. Das ist nicht so einfach wie man es nutzt ;-). Wenn es dir einfach nur darum geht, grundsätzlich mal einen Drucker zum Drucken zu bringen, schau dir mal dieses Video an:

    http://www.youtube.com/watch?v=6OuNXxSo9jI

    Sonst schau mal in diesem Thread.

    http://social.msdn.microsoft.com/Forums/de-DE/vbasicexpresseditionde/thread/e8ddd313-b6ad-46fc-9b4f-1214609d121f

    Eine sehr gute Einführung zu dem Thema steht auch in einem Buch von Galileo (wie Elmar treffend erkannt hat)

    16.7 Mehrseitiger Text
    http://openbook.galileocomputing.de/visualbasic_2008/vb2008_16_drucken_007.htm


    Liebe Grüße Stefan

    • Bearbeitet Giftzwockel Freitag, 9. April 2010 20:55 Format
    Freitag, 9. April 2010 20:53
  • Hallo Ellen,

    was spricht zum Laden der Dateien RichTextBox.LoadFile zu verwenden?

    Ferner scheint mir, dass Du den Code nicht getestet hast. RichTextBox.AppendText ist eine Methode und keine Eigenschaft, daher ist eine Zuweisung nicht zulässig. OpenFileDialog.OpenFile ist überflüssig, wenn Du den StreamReader hinterher doch selber mit einem Dateinamen öffnest. Umgekehrt könntest Du dem StreamReader aber auch gleich den über OpenFile geöffneten Stream übergeben.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    Freitag, 9. April 2010 21:23
  • Hallo Application-Developer,

    hier mal der simple Code, der auch in dem angesprochenen Video erklärt wird.

    Du benötigst zwei Controls.


    1 PrintDialog und einen PrintDocument-Dialog. Am einfachsten holst du dir die aus der Toolbox.

    Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    'Feste Werte
    e.Graphics.DrawString(RichTextBox1.Text, New Font("Arial", RichTextBox1.Font.Size, FontStyle.Bold), Brushes.Black, 25, 25)´
    End Sub
    
    
    Private Sub DruckenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DruckenToolStripMenuItem.Click
    
    'Einfachste Druckmethode die direkt ohne Druckerauswahlmen mit dem Standarddrucker druckt
    'PrintDocument1.Print() '// wegen komfortableren Code hier auskommentiert
    'Nachdem der PrintDialog der Form hinzugefügt wurde, sieht der Code so aus
    
    If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings
    PrintDocument1.Print()
    Else : End If
    
    
    End Sub
    
    

    Aber versprich dir nicht zu viel von diesem Code. Er druckt einfach nur den Text deiner RichText-Box in:
    Schriftart Arial,
    der Schriftgröße, die du der RichTextBox zugewiesen hast
    Schriftschnitt fett,
    Schriftfarbe schwarz,
    oberer und linker Rand 25 Pixel (sind das glaube ich).

    Möchtest du dem RTF-Feld eine andere Schriftart oder fixe Schriftgröße zuweisen, kannst du folgendes machen:

    e.Graphics.DrawString(RichTextBox1.Text, New Font("Tahoma", 12, FontStyle.Bold), Brushes.Black, 25, 25)
    Alles was darüber hinaus geht, wird aufwändig.
    Liebe Grüße Stefan
    Freitag, 9. April 2010 22:25
  • Nur der Vollständigkeit halber hier auch eine Methode, die RichTextBox mit ihrer angezeigten Formatierung zu drucken:

    Getting WYSIWYG Print Results from a .NET RichTextBox
    http://msdn.microsoft.com/en-us/library/ms996492.aspx

    Denke aber nicht, dass der Thread-Starter das noch liest, da dieser seine Frage vor knapp 2 Jahren hier gestellt hat.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    Samstag, 10. April 2010 08:51
  • Hallo zusammen,

    mein gänderter Code. (Den oben habe ich zurückgenommen)

    So geht es viel einfacher. (danke Thorsten)

    Nur mit den Richtextbox klassen.

    Grüsse

    Ellen

    Das folgende Programm benötigt eine Form mit 3 Buttons und eine Richtextbox.

    Bei der ersten Ausführung von Button1.click wird es einen Ausnahmefehler geben.

    Datei nicht vorhanden

    Ich gehe davon aus, dass Ihr wisst wie man damit umgeht. Deshalb habe ich auch verzichtet dieses

    detailiert zu codieren

     

    Public Class Form1
     
        Private Sub Button3_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) _
                                  Handles Button3.Click
            RichTextBox1.Clear()
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) _
                                  Handles Button2.Click
            'Richtextbox abspeichern
            RichTextBox1.SaveFile("D:\daten.txt", RichTextBoxStreamType.PlainText)
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) _
                                  Handles Button1.Click
            'Richtextbox laden
            RichTextBox1.LoadFile("D:\daten.txt", RichTextBoxStreamType.PlainText)
        End Sub
    End Class

     

    Samstag, 10. April 2010 12:54
  • Hallo Stefan,

     

    das Thema Drucken einer Richtextbox habe ich jetzt gelöst.

    http://msdn.microsoft.com/de-de/library/54z247f9(v=VS.80).aspx

    Ein sehr gutes und umfangreiches Sample eine Richtextbox zu drucken.

    Es funktioniert.  Sind jetzt alle Fragen einschliesslich des Ladens und Speichern gelöst?

    schöne Grüße

    Ellen

    • Bearbeitet Ellen Ramcke Freitag, 30. April 2010 10:33 link asl Hyperlink
    • Als Antwort vorgeschlagen Tolots Dienstag, 28. Februar 2012 16:08
    Donnerstag, 29. April 2010 18:32