The following will Save the contents of the Three RTB's. The Header, Main and Footer.
Also, it can Load the pre-saved contents from an RTF (or .pwd) into the Three above mentioned RTB's:
VB Code:
Option Explicit On Option Strict On Public Class Form1 Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click ' Add the Header RTB (emulating a Label) to the Hidden RTB maintaining formatting Me.rtbHeader.SelectAll() Me.rtbHeader.Copy() Me.rtbHidden.DeselectAll() Me.rtbHidden.Paste() Me.rtbHidden.AppendText(Environment.NewLine) ' Add the Main RTB to the Hidden RTB maintaining formatting Me.rtbMain.SelectAll() Me.rtbMain.Copy() Me.rtbHidden.DeselectAll() Me.rtbHidden.Paste() Me.rtbHidden.AppendText(Environment.NewLine) ' Add the Footer RTB (emulating a Label) to the Hidden RTB maintaining formatting Me.rtbFooter.SelectAll() Me.rtbFooter.Copy() Me.rtbHidden.DeselectAll() Me.rtbHidden.Paste() Dim sfd As New SaveFileDialog() sfd.Title = "Please select where you want to save your file to" sfd.Filter = "Rich Text Files (*.rtf)|*.rtf" sfd.FilterIndex = 1 If sfd.ShowDialog = Windows.Forms.DialogResult.OK Then rtbHidden.SaveFile(sfd.FileName) End If sfd.Dispose() End Sub Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click ' Load the Hidden RTB for processing Dim ofd As New OpenFileDialog() ofd.Title = "Please select the file to open" ofd.Filter = "Rich Text Files (*.rtf)|*.rtf" ofd.FilterIndex = 1 If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then Me.rtbHidden.Clear() Me.rtbHidden.LoadFile(ofd.FileName) End If ofd.Dispose() ' Extract the Header Me.rtbHidden.Select(0, Me.rtbHidden.Text.IndexOf(vbLf)) Me.rtbHidden.Copy() Me.rtbHeader.Clear() Me.rtbHeader.Paste() ' Extract the Main Me.rtbHidden.Select(Me.rtbHidden.Text.IndexOf(vbLf) + 1, Me.rtbHidden.Text.LastIndexOf(vbLf) - Me.rtbHidden.Text.IndexOf(vbLf)) Me.rtbHidden.Copy() Me.rtbMain.Clear() Me.rtbMain.Paste() ' Extract the Footer Me.rtbHidden.Select(Me.rtbHidden.Text.LastIndexOf(vbLf) + 1, Me.rtbHidden.Text.Length - Me.rtbHidden.Text.IndexOf(vbLf) + 1) Me.rtbHidden.Copy() Me.rtbFooter.Clear() Me.rtbFooter.Paste() End Sub End Class
Here is an image:




Reply With Quote
