Gustav Brock
Gustav at cactus.dk
Fri Dec 4 15:39:43 CST 2009
Hi Shamil
Yes, but is PropertyName appended and saved if it didn't exist?
Isn't the data saved under the user profile somewhere in AppData? I haven't look closer at this though.
/gustav
>>> shamil at smsconsulting.spb.ru 04-12-2009 21:33 >>>
Hi Gustav,
You can set
Properties.Settings.Default.{{PropertyName}} = {{SomeValue}};
and save settings having "User" scope:
Properties.Settings.Default.Save();
And they are saved not in {{ApplicationExecutableFileName}}.config, which you deliver with you app's executable but anywhere else on your system -
probably somewhere in user's Application Settings - standard windows folder.
I have never had time to find out where settings are saved. Anybody?
Recap:
- settings are loaded from {{ApplicationExecutableFileName}}.config when you deliver you application, and it runs first time;
- as soon as you save "User" scope settings they are saved in and loaded from {{UnknownPlace}};
- if you move your application files into another folder on the same system the settings are again loaded on first run from {{ApplicationExecutableFileName}};
- ...
That looks confusing a bit but it's how it works...
You can click "Learn more about application settings..." on top right of VS2008 application settings window available by Solution Explorer -> Project
name -> Right-Click -> Settings...
But if you wanted to have rather complicated structure of your application settings file then better use your own custom XML files, which can be loaded
from/saved to files many ways without almost any coding...
Thank you.
--
Shamil
-----Original Message-----
From: dba-vb-bounces at databaseadvisors.com
[mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Gustav Brock
Sent: Friday, December 04, 2009 8:25 PM
To: dba-vb at databaseadvisors.com
Subject: Re: [dba-VB] Application settings
Hi John
Shamil is right, but that method is for reading only.
Please note that the Properties' collection object is read-only, thus it
takes quite a few steps to add a property:
http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/c52b4fc6-
66be-44ce-8a65-ab548f6f4f04
I have not used this as I haven't had any need to add properties on the fly.
Reading and writing was fine for me, and new properties I added manually.
You may find it much easier and perhaps more convenient to just have a
dataset which you read and write from/to an XML-file. I've posted code for
this before.
/gustav
>>> jwcolby at colbyconsulting.com 04-12-2009 17:33 >>>
Under the project is a properties object. Double click that and an entire multi-tabbed dialog opens.
Click the settings tab. There you will see a form where you can enter name, type, scope, value.
As far as I can tell this is a place where I (the developer) can create settings that my program
will use and manipulate, settings (for example) to tell my program the name of the SQL Server
instance to use in a connection string, the name of my control database where I store my stored
procedures and UDFs. Stuff like that. Stuff that I am currently hard coding, but which really
should be in a settings tab so that I don't have to remember where that constant is in code, I can
just go to the settings tab to change.
My expectation is that there is an object somewhere in the .net namespace that allows you to do
something like "Something.Somethingelse.Settings["MyServerName"]...." to access these things.
I expect to be able to create new ones, edit existing ones, delete them etc from a .Net object. I
am looking for that .Net syntax that allows me to do this from code.
John W. Colby
www.ColbyConsulting.com