ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel
  • »
  • Technology»
  • Computers & Software»
  • Computer Science & Programming»
  • Programming Languages

Save File Dialog Visual Basic Example

Updated on February 7, 2016

Save File Dialog - Form Layout

In this basic example we are going to save a text file using the file dialog and write text to it from the text box.

To set out this Example create yourself a new project and call it SaveFileDialogExample once loaded make the form bigger and add 1 text box and 2 button controls and a savefileDialog to the form and lay them out as in the picture below. (The full control reference is below stating all the properties I changed for this example)

Once you have added your controls and set up be sure to save your project!

How This Example Works

This example uses a FileDialogControl that opens as a separate form we then filter that to show only .txt (text) files, the user can then enter a file name and save the file under their chosen file name.

The program then writes the text that has been entered in to the text box to the file it has created. We will revisit this example at a later date to incorporate an "auto save" feature in the system allowing the program to automatically update your typing as you go!

Save File Dialog Example Layout

SaveFileDialog Example Code - Explained

The code for this example is quite short however there are a few steps you should take in order to make it more efficient.

First we need to sort out the SaveFileDialog part ready to show it, I have included 3 things here however you can simply just show the dialog.

Code Line 5 uses the filter property allowing me to filter the results display to just .txt files, this ensures that you will only see the same file types displayed (handy say if you are replacing a file)

Code Line 6 uses the FileName property allowing me to pre-populate the file name to ensure it isn't empty (in windows all new files if no name is specified start as Untitled ) this is how it is done.

Code Line 7 Finally shows the SaveFileDialog in order for you to adjust the file name and save the file.

when the user clicks "Save" from within the SaveFileDialog from it returns the full file path to the original code where we can continue to write code to then write the text to the file.

Code Line 9 creates a new instance of the StreamReader and uses the returned file path in order to write to the file.

Code Line 10 tells the StreamReader to write (and in this case we are writing the contents of mainFileTextBox) and this gets written to the saved file on the hard drive.

Code Line 15 closes down the Form and exits the program.

This example is expandable and I urge you to create additional functionality using the above example, in future examples we will come back to this example and modify it to work in a more advanced manner!

Save File Dialog - Full Code

Public Class Form1

    Private Sub saveAsButton_Click(sender As Object, e As EventArgs) Handles saveAsButton.Click

        SaveFileDialog1.Filter = "Text Files |* .txt"
        SaveFileDialog1.FileName = "My Text File"
        SaveFileDialog1.ShowDialog()

        Dim myWriter As New System.IO.StreamWriter(SaveFileDialog1.FileName)
        myWriter.WriteLine(mainTextFile.Text)
        myWriter.Close()
    End Sub

    Private Sub closeButton_Click(sender As Object, e As EventArgs) Handles closeButton.Click
        Me.Close()
    End Sub
End Class

The Save File Dialog Complete

Save File Dialog Example Conclusion

In this example we took a very quick look at the Save File Dialog control in Visual Basic giving you the ability to save text files (or any files you are working with) to the hard drive of your computer and specify a name for them.

I will revisit this example at a later date to add in more functionality allowing you to add times auto save, and a check on exit to ensure you do not accidentally close your file down and lose work.

As always if you like this example please use the Poll below, and if you have any questions or feeback I would love to hear from you!

Give Feedback

Did you find this example useful?

See results

Have Your Say!

    0 of 8192 characters used
    Post Comment

    No comments yet.

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: "https://hubpages.com/privacy-policy#gdpr"

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)