Save file dialog keeps saving into bin\debug folder and not in specified location.

Hello, i am trying to save the text from a textbox into a file using a save file dialog. I choose a folder however the file is not saved there but in the bin\debug folder. Below is the code i am using:

any help would be appreciated,

thanks.
Private Sub SaveTextToFileToolStripMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SaveTextToFileToolStripMenuItem.Click
        Dim saveFileDialog1 As New SaveFileDialog()
        Dim FileName As String
        Dim sw As System.IO.StreamWriter
        FileName = "Textfile"
 
 
        sw = New System.IO.StreamWriter(FileName)
        saveFileDialog1.FileName = FileName
        saveFileDialog1.Filter = "TXT files (*.txt)|*.TXT"
 
 
        If saveFileDialog1.ShowDialog() = DialogResult.OK Then
            FileName = saveFileDialog1.FileName
 
           
            sw.Write(txtString.Text)
            sw.Close()
 
 
        End If
 
    End Sub
End Class

Open in new window

pythonVAsked:
Who is Participating?
 
ladarlingConnect With a Mentor Commented:
Then again, this way is probably a little more reliable:
        Dim sfd As New SaveFileDialog
        With sfd
            .Filter = "TXT files (*.txt)|*.TXT"
            .FileName = "TextFile"
        End With
        If Not String.IsNullOrEmpty(sfd.FileName) And sfd.ShowDialog = Windows.Forms.DialogResult.OK Then
            Dim sw As New IO.StreamWriter(sfd.FileName)
            sw.Write(txtString.text)
            sw.Close()
        End If

Open in new window

0
 
ladarlingConnect With a Mentor Commented:
You are kind of doing things backward...
When you open 'FileName' with the streamwrite, the current directory for your broject is 'bin/debug', so that is where the file is created.
You need to get the path to where the save should occur *first*, then do your write.
 

        Dim saveFileDialog1 As New SaveFileDialog()
        Dim FileName As String
        Dim sw As System.IO.StreamWriter
 
        saveFileDialog1.FileName = FileName
        saveFileDialog1.Filter = "TXT files (*.txt)|*.TXT"
        saveFileDialog1.ShowDialog()
 
        If saveFileDialog1.ShowDialog() = DialogResult.OK Then
            FileName = saveFileDialog1.FileName
            sw = New IO.StreamWriter(FileName)
            sw.Write(txtString.Text)
            sw.Close()
        End If
 
    End Sub

Open in new window

0
All Courses

From novice to tech pro — start learning today.