Zebra0.com

visual-basic listmanager

When the user clicks the save menu item, we will open a file for output and write all of the items in the list box to the file.

Add a SaveFileDialog to the form. Leave the name as SaveFileDialog1.
Set the filter to Text Files|*.txt

We have created a variable currentFile that is global. That means that is it declared outside of any function or sub, usually the global variables are the first thing inside the class:

Add a global variable currentFile:

Public Class Form1
    Dim currentFile As String

Because we are going to save from more than one place (when we remind them to save) we have written savefile as a general procedure. That is, it is not a procedure that receives some event arguments as its parameters.

    Private Sub SaveList()
        Dim S As String
        Dim Num As Integer
        If currentFile = "" Then
            SaveFileDialog1.ShowDialog()
            currentFile = SaveFileDialog1.FileName
        End If
        If currentFile <> "" Then
            FileOpen(1, currentFile, OpenMode.Output)
            For Num = 0 To ListBox1.Items.Count - 1
                S = ListBox1.Items.Item(Num)
                PrintLine(1, S)
            Next Num
            FileClose(1)
            MsgBox("Items saved: " & ListBox1.Items.Count)
        End If
    End Sub 'SaveList

Write the code for mnuSave_Click that will call SaveList:

Private Sub mnuSave_Click(sender As Object, e As EventArgs) Handles mnuSave.Click
  SaveList()
End Sub

See the complete code at this point.

NEXT: Build the Menu