Imports System.IO Public Class MyEdit ' current file Public Filename As String ' current contents Public Filetext As String ' initialise to new document Private Sub MyEdit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Filetext = "" Filename = "" TextBox.Text = Filetext ToolStripStatusLabel1.Text = Filename End Sub ' save the text (common to Save and Save As) Public Sub SaveText() If Filename = "" Then If (SaveFileDialog.ShowDialog() = Windows.Forms.DialogResult.OK) Then Filename = SaveFileDialog.FileName Else Return End If End If File.WriteAllText(Filename, Filetext) End Sub ' menu new document Private Sub NewToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewToolStripMenuItem.Click If (TextBox.Text <> Filetext) Then If MsgBox("Save Changes ?", MsgBoxStyle.YesNoCancel) = MsgBoxResult.Yes Then Filetext = TextBox.Text SaveText() End If End If Filetext = "" TextBox.Text = Filetext ToolStripStatusLabel1.Text = Filename End Sub ' menu open document Private Sub OpenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenToolStripMenuItem.Click If (TextBox.Text <> Filetext) Then If MsgBox("Save Changes ?", MsgBoxStyle.YesNoCancel) = MsgBoxResult.Yes Then Filetext = TextBox.Text SaveText() End If End If If OpenFileDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then Filename = OpenFileDialog.FileName Filetext = File.ReadAllText(Filename) End If TextBox.Text = Filetext ToolStripStatusLabel1.Text = Filename End Sub ' menu save document Private Sub SaveToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveToolStripMenuItem.Click Filetext = TextBox.Text SaveText() ToolStripStatusLabel1.Text = Filename End Sub ' menu save document as Private Sub SaveAsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveAsToolStripMenuItem.Click Filetext = TextBox.Text Filename = "" SaveText() ToolStripStatusLabel1.Text = Filename End Sub ' menu exit Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click If (TextBox.Text <> Filetext) Then If MsgBox("Save Changes ?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then Filetext = TextBox.Text SaveText() End If End If Application.Exit() End Sub ' handle close window Private Sub MyEdit_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing If (TextBox.Text <> Filetext) Then If MsgBox("Save Changes ?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then Filetext = TextBox.Text SaveText() End If End If End Sub End Class