Mikä koodissa vikana? Tein savefiledialog harjoituksen sivulta: http://www.homeandlearn.co.uk/NET/nets4p9.html
Jostain syystä dialogissa joutuu painamaan kahdesti jompaa kumpaa nappia (save tai cancel).
Private Sub menu_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menu_save.Click
Dim tiedostonimi As String
Dim didwork As String
SaveFD.OverwritePrompt = True
SaveFD.Title = "tallenna tiedosto"
SaveFD.InitialDirectory = "c:\"
SaveFD.Filter = "text files|*.txt"
SaveFD.ShowDialog()
tiedostonimi = SaveFD.FileName
didwork = SaveFD.ShowDialog()
If didwork = DialogResult.Cancel Then
MsgBox("cancel nappia painettiin")
Else
tiedostonimi = SaveFD.FileName
MsgBox("tiedosto " & tiedostonimi & " tallennettu")
End If
End SubMoikka taas novice!
Komennon 'tuplaus' johtuu siitä, että koodi avaa dialogi-ikkunan kahteen kertaan...
'.... ' koodi avaa dialogi-ikkunan tässä ensimmäisen kerran... SaveFD.ShowDialog() '... '...ja tässä uudestaan (ensimmäinen on turha)... didwork = SaveFD.ShowDialog() '...
Lisää erikoisuuksia...yleensäkään Windows ohjelmissa Menun File-valikon Save-toiminnon yhteydessä ei käytetä SaveFileDialog-funktiota, vaan tiedosto tallennetaan suoraan mitään kyselemättä samalla nimellä, jolla se on avattu (tiedostopolku haetaan joko esim. OpenFileDialog1.FileName -ominaisuudesta tai se on tallennettu julkiseen muuttujaan...) Sen sijaan kyseinen toiminto liitetään Menussa yleensä Save As-valintaan. Eli Menun Save-valinta on joko estetty tai sitä ei edes näy Menun File-valikossa jos mitään tiedostoa ei ole avattu...
Mutta jos nyt edetään näillä eväillä niin rivi...
tiedostonimi = SaveFD.FileName
pitäisi luonnollisesti olla muodossa...,
SaveFD.FileName=tiedostonimi
jolloin tiedostonimi näkyy automaattisesti Tiedostonimi: tekstiruudussa, kun SaveFileDialog-ikkuna avautuu...
Kiitos vastauksesta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.