Public Class Form1 Dim Changed As Boolean = False Dim Canceled As Boolean = False Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing Canceled = False AskToSave() If Canceled Then e.Cancel = True 'Program does NOT end! End Sub 'Form1_FormClosing Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim S As String = "" FileOpen(1, "C:\todo.txt", OpenMode.Input) While Not EOF(1) S = LineInput(1) Me.CboTodo.Items.Add(S) End While FileClose(1) If Me.CboTodo.Items.Count > 0 Then Me.CboTodo.SelectedIndex = 0 End If End Sub 'Form1_Load Public Sub AddItem() Dim Item As String Dim P As Integer Item = InputBox("Task to add:", "Add") If Item <> "" Then P = Me.CboTodo.FindString(Item) 'is item already in box? If P = -1 Then 'add if not there already Me.CboTodo.Items.Add(Item) P = Me.CboTodo.FindString(Item) End If Me.CboTodo.SelectedIndex = P 'display added item Changed = True End If End Sub 'AddItem Private Sub MnuAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuAdd.Click AddItem() End Sub 'MnuAdd_Click Private Sub MnuSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles MnuSave.Click SaveList() End Sub 'mnuSave_Click Private Sub SaveList() Dim S As String Dim Num As Integer FileOpen(1, "C:\todo.txt", OpenMode.Output) For Num = 0 To Me.CboTodo.Items.Count - 1 S = Me.CboTodo.Items.Item(Num) PrintLine(1, S) Next Num FileClose(1) MsgBox("Items saved: " & Me.CboTodo.Items.Count) Changed = False End Sub 'SaveList Private Sub mnuDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles MnuDelete.Click DeleteItem() End Sub 'mnuDelete_Click Private Sub DeleteItem() If Me.CboTodo.Items.Count > 0 Then Me.CboTodo.Items.RemoveAt(Me.CboTodo.SelectedIndex) Else Me.CboTodo.Text = "" End If If Me.CboTodo.Items.Count > 0 Then Me.CboTodo.SelectedIndex = 0 End If Changed = True End Sub 'DeleteItem Private Sub mnuExit_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles MnuExit.Click AskToSave() End Sub 'mnuExit_Click Private Sub AskToSave() Dim Answer As MsgBoxResult If Changed Then Answer = MsgBox("Do you want to save?", _ MsgBoxStyle.YesNoCancel + MsgBoxStyle.Question, "Save") If Answer = MsgBoxResult.Yes Then SaveList() End End If If Answer = MsgBoxResult.No Then End 'end the program End If If Answer = MsgBoxResult.Cancel Then Canceled = True End If 'Do NOT end if they cancel! Else End 'end the program if no changes End If End Sub 'AskToSave End Class