Tag Archives: remember size

Use Custom MY.MySettings to Remember an Applications Size and Position in VB .NET

Click Star to Rate Post
1 Star2 Stars3 Stars4 Stars5 Stars (7 votes, average: 2.71 out of 5)
 

Note:  This article is aimed at the Visual Basic .NET 2005/VB 2008 and Newer versions since the earlier versions of dot net do Not have the My feature. But the principals still apply if your using an older version of vb.net.

This small tutorial is to show you how you can create your own properties using the ‘My.MySettings’ Class. This article will focus on adding Two new properties/settings called: ApplicationSize and ApplicationPosition. I will use them to store the applications position and Size when it exits or closes. Then the next time the application/program loads, it will use these settings and remember the exact Position and Size from the last time it was opened and closed.

_______________________________________________

Once you have your project loaded, goto the ‘Project’ menu and select the ‘Properties’ option from the list, which is usually the last item listed. Then select the “Settings” Tab item. You will then see the settings grid which is used to configure the application settings.

Name: This is where you put the name of your property/setting. For this tutorial, put in ApplicationPosition as a name, and ApplicationSize as another name. ApplicationSetting and ApplicationSize will actually be listed under: My.MySettings.Default.

Type: Here you can select the type you want your setting/property to be. Example: Point, Size, Date, Integer, and so on. For the article, set the type for ApplicationPosition to be: ‘Point’. For the ApplicationSize set to be the: ‘Size’ type.

Scope: This is where you can specify if the property/setting can only be modified by your Application, or if the person using your application can change the setting. If ‘Application’ is set, then the user cannot modify the setting at runtime. If ‘User’ is selected, then the setting Can be modified at runtime by the user. If you want to have certain preferences that the user can modify, then ‘User’ is the scope you want to use. For the article I went ahead and set it to ‘User’.

Value: You can specify a default value for the property/setting that will be used if the property is being used for the first time or no other value have been specified at runtime. This value will also be used if you ‘Reset’ the properties. Example: My.MySettings.Default.Reset() will reset the settings to your original values.

_______________________________________________

If you are following the article as a exercise, then your Project Properties should look similar to the picture below (IF you can read it that is…

_______________________________________________

Under the: My.Settings.Default interface, you should have: My.MySettings.Default.ApplicationPosition and My.MySettings.Default.ApplicationSize available as properties that can now be used. To get your application to use these properties and enable it to remember the size and position to load, you will want to put a few lines of code in the Form_Load event, and the Form_FormClosing event.

 

Form_Load Event put:

        Me.Location = My.MySettings.Default.ApplicationPosition

        Me.Size = My.MySettings.Default.ApplicationSize

Form_FormClosing Event put:

        My.MySettings.Default.ApplicationPosition = Me.Location

        My.MySettings.Default.ApplicationSize = Me.Size

   _______________________________________________

That’s all there is to it. Now your application will have the ability to memorize the position and size when it was previously ran and can load in the same position and at the same size. You do NOT need to specifically use the registry or create a ini file to enable these user-friendly capabilities.

    There ARE more features and properties available for creating custom properties/settings, but those will have to be covered in a future article. Hope you got something worthwhile from this small tutorial 🙂

    Click Here for a example application with this article.

                         Jason