Benutzer mit den meisten Antworten
RichTextBox drucken? Speichern? Datei in RichTextBox öffnen

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.
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.aspxDenke 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- Als Antwort markiert Robert Breitenhofer Freitag, 30. April 2010 12:25
-
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
- Bearbeitet Ellen Ramcke Montag, 12. April 2010 19:20 Ergänzung
- Als Antwort markiert Robert Breitenhofer Freitag, 30. April 2010 12:26
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 TryDrucken weiß ich nicht
-
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.
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
-
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 -
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- Bearbeitet Robert Breitenhofer Freitag, 30. April 2010 12:20 Formatierung
-
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.aspxDenke 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- Als Antwort markiert Robert Breitenhofer Freitag, 30. April 2010 12:25
-
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
- Bearbeitet Ellen Ramcke Montag, 12. April 2010 19:20 Ergänzung
- Als Antwort markiert Robert Breitenhofer Freitag, 30. April 2010 12:26
-
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