|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
|
Announcements
Chapters
Services
Feature Zones
|
IntroductionThe first time I tried to store application settings using the Recently while writing a project, I thought of how I would save the application settings and load it the next time the application is run. I didn't want to use my method for saving and loading the settings to and from disk - I wanted something ready-made. So the If I didn't make it, I would not have written this article. So enjoy it. myApp.Properties.SettingsI'll walk you through the process of setting your program ( " Click on the Project menu -> myApp Properties. A new tab spawns showing you the various properties that can be set or read in the application you are currently building. Click the Settings tab in the list of properties. Enter the Settings you'd like to add (see the image below).
When you type the name, you select the type, then you set the scope before you enter the value. You will have to take note of the Scope property. That is, in what 'scope' do you want the setting to be visible, is it at the user level (visible only to the current user) or at the application level (visible to the application from all user accounts). The logic is that if the scope is Application, once set you cannot change it from outside the IDE - you sure wouldn't want anything to tamper with what makes your program 'sane'. If the scope is User then it can be changed at runtime and the new value will be stored for you - which you can then read another time the program is run. This is exactly what most of us need from this class, no more no less. Once you're finished writing the name and setting the properties and values (make sure there is a default value you give to each name you 'declare'), click the Save button. Using PostTracker.Properties.SettingsThe main use of the Reading PostTracker.Properties.SettingsIf you have created a usable setting that you want to save to disk, then it must be readable from the disk. Well, you don't have to worry about reading the settings from disk, it's automatically done for you, but you will need to get it from where it is stored. To do this, check out the code below: account = PostTracker.Properties.Settings.Default.Account;
host = PostTracker.Properties.Settings.Default.smtpHost;
password = PostTracker.Properties.Settings.Default.Password;
port = Convert.ToString( PostTracker.Properties.Settings.Default.Port );
Don't ever forget to have declared your variables and make sure they are visible in the code block before you use them. You also need to note that the responsibility to convert to the appropriate type when reading or saving rests on you. You might be tempted to read this way; // No Compile time or runtime error will be generated at this line
// but account will hold no value
account = Properties.Settings.Default.Account;
Writing PostTracker.Properties.SettingsThe following lines of code demonstrate how to save your settings to disk: PostTracker.Properties.Settings.Default.Account = account;
PostTracker.Properties.Settings.Default.smtpHost = host;
PostTracker.Properties.Settings.Default.Password = password;
PostTracker.Properties.Settings.Default.Port = Convert.ToInt16( port );
PostTracker.Properties.Settings.Default.Save( ); // Important for saving
You must remember to call the Additional InformationMaybe you plan to put up a Settings page for your application and you're thinking of how to write code that checks to see if one of the settings has been changed by the user so you make the "Apply" button active for the user or decide it's not yet time to make a particular button active on the form. Well, you'll only have to write a few lines of code.
This code is only a guide. Similar code you write should be wired to the appropriate events from your controls. // The content of the TextBox that holds the user's password has just been changed
textboxPassword_TextChanged(object sender, EventArgs e)
{
if(PostTracker.Properties.Settings.Default.Password || textboxPassword.Text
// . . . check for other properties can ( and should ) come in here
)
{
// Your action comes here, for example
UpdateApplyButton();
}
}
// You can wire other related events form related controls to the Method to save time
ConclusionIn conclusion, it's pretty simple and interesting to use the I really hope you enjoy this article. If you have questions or suggestions or corrections or ..., you're most welcome to send me an email. Thank you. History
|
||||||||||||||||||||||