Mega Code Archive

 
Categories / VB.Net Tutorial / GUI
 

Read and Save controls on a form to a file

Option Strict On Imports System.IO Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Windows.Forms public class SaveReadControlsFile    public Shared Sub Main         Application.Run(New Form1)    End Sub End class Public Class Form1     Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code "     Public Sub New()         MyBase.New()         'This call is required by the Windows Form Designer.         InitializeComponent()         'Add any initialization after the InitializeComponent() call     End Sub     'Form overrides dispose to clean up the component list.     Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)         If disposing Then             If Not (components Is Nothing) Then                 components.Dispose()             End If         End If         MyBase.Dispose(disposing)     End Sub     Friend WithEvents Panel1 As System.Windows.Forms.Panel     Friend WithEvents RichTextBox1 As System.Windows.Forms.RichTextBox     Friend WithEvents ColorDialog1 As System.Windows.Forms.ColorDialog     Friend WithEvents FontDialog1 As System.Windows.Forms.FontDialog     Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog     Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog     Friend WithEvents btnChangeColor As System.Windows.Forms.Button     Friend WithEvents btnChangeFont As System.Windows.Forms.Button     Friend WithEvents btnSaveRTF As System.Windows.Forms.Button     Friend WithEvents btnOpenRTF As System.Windows.Forms.Button     Friend WithEvents btnWriteControls As System.Windows.Forms.Button     Friend WithEvents btnReadControls As System.Windows.Forms.Button     Friend WithEvents TextBox1 As System.Windows.Forms.TextBox     Friend WithEvents TextBox2 As System.Windows.Forms.TextBox     Friend WithEvents TextBox3 As System.Windows.Forms.TextBox     'Required by the Windows Form Designer     Private components As System.ComponentModel.IContainer     'NOTE: The following procedure is required by the Windows Form Designer     'It can be modified using the Windows Form Designer.       'Do not modify it using the code editor.     <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()         Me.Panel1 = New System.Windows.Forms.Panel()         Me.RichTextBox1 = New System.Windows.Forms.RichTextBox()         Me.ColorDialog1 = New System.Windows.Forms.ColorDialog()         Me.FontDialog1 = New System.Windows.Forms.FontDialog()         Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()         Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()         Me.btnChangeColor = New System.Windows.Forms.Button()         Me.btnChangeFont = New System.Windows.Forms.Button()         Me.btnSaveRTF = New System.Windows.Forms.Button()         Me.btnOpenRTF = New System.Windows.Forms.Button()         Me.btnWriteControls = New System.Windows.Forms.Button()         Me.btnReadControls = New System.Windows.Forms.Button()         Me.TextBox1 = New System.Windows.Forms.TextBox()         Me.TextBox2 = New System.Windows.Forms.TextBox()         Me.TextBox3 = New System.Windows.Forms.TextBox()         Me.Panel1.SuspendLayout()         Me.SuspendLayout()         '         'Panel1         '         Me.Panel1.Controls.AddRange(New System.Windows.Forms.Control() {Me.btnReadControls, Me.btnWriteControls, Me.btnOpenRTF, Me.btnSaveRTF, Me.btnChangeFont, Me.btnChangeColor})         Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom         Me.Panel1.Location = New System.Drawing.Point(0, 222)         Me.Panel1.Name = "Panel1"         Me.Panel1.Size = New System.Drawing.Size(656, 64)         Me.Panel1.TabIndex = 0         '         'RichTextBox1         '         Me.RichTextBox1.Location = New System.Drawing.Point(16, 8)         Me.RichTextBox1.Name = "RichTextBox1"         Me.RichTextBox1.Size = New System.Drawing.Size(336, 176)         Me.RichTextBox1.TabIndex = 1         Me.RichTextBox1.Text = "Mr. and Mrs. Dursley, of number four, Privet Drive, were proud to say that they w" & _         "ere perfectly normal, thank you very much."         '         'btnChangeColor         '         Me.btnChangeColor.Location = New System.Drawing.Point(24, 24)         Me.btnChangeColor.Name = "btnChangeColor"         Me.btnChangeColor.Size = New System.Drawing.Size(88, 32)         Me.btnChangeColor.TabIndex = 0         Me.btnChangeColor.Text = "Change Color"         '         'btnChangeFont         '         Me.btnChangeFont.Location = New System.Drawing.Point(128, 24)         Me.btnChangeFont.Name = "btnChangeFont"         Me.btnChangeFont.Size = New System.Drawing.Size(88, 32)         Me.btnChangeFont.TabIndex = 1         Me.btnChangeFont.Text = "Change Font"         '         'btnSaveRTF         '         Me.btnSaveRTF.Location = New System.Drawing.Point(232, 24)         Me.btnSaveRTF.Name = "btnSaveRTF"         Me.btnSaveRTF.Size = New System.Drawing.Size(88, 32)         Me.btnSaveRTF.TabIndex = 2         Me.btnSaveRTF.Text = "Save RTF"         '         'btnOpenRTF         '         Me.btnOpenRTF.Location = New System.Drawing.Point(336, 24)         Me.btnOpenRTF.Name = "btnOpenRTF"         Me.btnOpenRTF.Size = New System.Drawing.Size(88, 32)         Me.btnOpenRTF.TabIndex = 3         Me.btnOpenRTF.Text = "Open RTF"         '         'btnWriteControls         '         Me.btnWriteControls.Location = New System.Drawing.Point(440, 24)         Me.btnWriteControls.Name = "btnWriteControls"         Me.btnWriteControls.Size = New System.Drawing.Size(88, 32)         Me.btnWriteControls.TabIndex = 4         Me.btnWriteControls.Text = "Write Controls"         '         'btnReadControls         '         Me.btnReadControls.Location = New System.Drawing.Point(544, 24)         Me.btnReadControls.Name = "btnReadControls"         Me.btnReadControls.Size = New System.Drawing.Size(88, 32)         Me.btnReadControls.TabIndex = 5         Me.btnReadControls.Text = "Read Controls"         '         'TextBox1         '         Me.TextBox1.Location = New System.Drawing.Point(400, 24)         Me.TextBox1.Name = "TextBox1"         Me.TextBox1.Size = New System.Drawing.Size(232, 20)         Me.TextBox1.TabIndex = 2         Me.TextBox1.Text = "TextBox1"         '         'TextBox2         '         Me.TextBox2.Location = New System.Drawing.Point(400, 68)         Me.TextBox2.Name = "TextBox2"         Me.TextBox2.Size = New System.Drawing.Size(232, 20)         Me.TextBox2.TabIndex = 3         Me.TextBox2.Text = "TextBox2"         '         'TextBox3         '         Me.TextBox3.Location = New System.Drawing.Point(400, 112)         Me.TextBox3.Name = "TextBox3"         Me.TextBox3.Size = New System.Drawing.Size(232, 20)         Me.TextBox3.TabIndex = 4         Me.TextBox3.Text = "TextBox3"         '         'Form1         '         Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)         Me.ClientSize = New System.Drawing.Size(656, 286)         Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.TextBox3, Me.TextBox2, Me.TextBox1, Me.RichTextBox1, Me.Panel1})         Me.Panel1.ResumeLayout(False)         Me.ResumeLayout(False)     End Sub #End Region     Private Sub btnWriteControls_Click(ByVal sender As System.Object, _         ByVal e As System.EventArgs) Handles btnWriteControls.Click         'Get a file         Dim theFile As String         SaveFileDialog1.InitialDirectory = Application.ExecutablePath         SaveFileDialog1.DefaultExt = "hld" 'custom format         SaveFileDialog1.FileName = "myFile"         SaveFileDialog1.Filter = "HLD Files (*.hld)|*.hld|All Files (*.*) | *.*"         SaveFileDialog1.OverwritePrompt = True         SaveFileDialog1.ShowDialog()         theFile = SaveFileDialog1.FileName         Dim fs As FileStream = New FileStream(theFile, FileMode.OpenOrCreate)         Dim w As StreamWriter = New StreamWriter(fs)         Dim c As Object         For Each c In Me.Controls          If TypeOf (c) Is TextBox Then             Dim tbox As TextBox = CType(c, TextBox)             w.WriteLine(tbox.Name & "=" & tbox.Text)          End If       Next       w.Close()       fs.Close()     End Sub     Private Sub btnReadControls_Click(ByVal sender As System.Object, _         ByVal e As System.EventArgs) Handles btnReadControls.Click         Dim theFile As String         OpenFileDialog1.InitialDirectory = Application.ExecutablePath         OpenFileDialog1.DefaultExt = "hld" 'custom format         OpenFileDialog1.FileName = "myFile"         OpenFileDialog1.Filter = "HLD Files (*.hld)|*.hld|All Files (*.*) | *.*"         OpenFileDialog1.ShowDialog()         theFile = OpenFileDialog1.FileName         Dim fs As FileStream = New FileStream(theFile, FileMode.Open)         Dim r As StreamReader = New StreamReader(fs)         Dim c As Object         Dim tmpArray() As String         For Each c In Me.Controls          If TypeOf (c) Is TextBox Then             Dim tbox As TextBox = CType(c, TextBox)             tmpArray = Split(r.ReadLine(), "=")             If tbox.Name = tmpArray(0) Then                tbox.Text = tmpArray(1)             End If          End If       Next         r.Close()     End Sub End Class