/ / Hintergrundfarbe beim Speichern von RichTextBox in eine RTF- oder HTML-Datei? - c #, winforms, richtextbox, Hintergrundfarbe

Hintergrundfarbe beim Speichern von RichTextBox in RTF- oder HTML-Datei speichern? - c #, winforms, richtextbox, Hintergrundfarbe

Ich arbeite gerade daran, Text zu speichernvon einer richtextbox zu einer RTF-Datei. Ich habe es funktioniert, so dass ich den Text in RTF-Datei mit farbigem Text speichern kann. Ich möchte jedoch auch die Hintergrundfarbe der Box im Dokument für die Ansicht beibehalten.

Ich kann die Daten entweder in RTF oder HTML speichern, solange ich den gesamten farbcodierten Text beibehalten und die entsprechende Hintergrundfarbe im Dokument anzeigen kann.

Hier ist der Code, den ich zum Speichern als RTF-Datei mit farbcodiertem Text verwende.

private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
SaveFileDialog saveFile1 = new SaveFileDialog();

// Initialize the SaveFileDialog to specify the RTF extension for the file.
saveFile1.DefaultExt = "*.rtf";
saveFile1.Filter = "RTF Files|*.rtf";

// Determine if the user selected a file name from the saveFileDialog.
if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK && saveFile1.FileName.Length > 0)
{
// Save the contents of the RichTextBox into the file.
richtextbox.SaveFile(saveFile1.FileName, RichTextBoxStreamType.RichText);
}
}

Bearbeiten: Ich habe herausgefunden, dass der folgende Code den Text mit meinem Hintergrund in einer RTF-Datei hervorheben kann. Im Moment funktioniert das, aber ich würde trotzdem gerne Meinungen zu besseren Lösungen einholen.

Fügen Sie den Code unter der Open-Anweisung des Dialogfelds "Savefile" ein.

        richtextbox.SelectAll();
richtextbox.SelectionBackColor = richtextbox.BackColor;
richtextbox.DeselectAll();

Antworten:

0 für die Antwort № 1

Meine Lösung war bisher, vor dem Savefile-Dialog Folgendes zu tun:

    richtextbox.SelectAll();
richtextbox.SelectionBackColor = richtextbox.BackColor;
richtextbox.DeselectAll();