user1134487
user1134487

Reputation:

Retrieving last saved value in C# WinForms

Suppose I have one form where a combo box has some options. Now, at the first run of this program, user selects a option from combo box and saved it through a button click or something. Now, If user terminates the application and run again for the 2nd time, is there any way to retrieve the last saved selection?

That means, if you select option1 from the combo box and terminate the application. after some time, you again start the application, now your combo box should show option1 as selected because at the previous session, you selected it.

I hope you'll understand what i think.

Upvotes: 3

Views: 4616

Answers (3)

Lloyd Powell
Lloyd Powell

Reputation: 18810

Use Settings

// To Load (after combo box binding / population)
private void LoadSelection()
{
    int selectedIndex = 0;

    if (int.TryParse(Properties.Settings.Default.comboBoxSelection, out selectedIndex))
    {
        cbMyComboBox.SelectedIndex = selectedIndex;
    }
}

// saving on button click.
private void saveButton_Click(object sender, EventArgs e)  
{  
    //set the new value of comboBoxSelection 
    Properties.Settings.Default.comboBoxSelection = cbMyComboBox.SelectedIndex;  

    //apply the changes to the settings file  
    Properties.Settings.Default.Save();  
}  

See here for more detail.

Upvotes: 5

Alaa Jabre
Alaa Jabre

Reputation: 1903

You can add settings on solution explorer under the project, properties folder add resource "string" give it a name "selected" for example then

// this is save button
Properties.Settings.Default.selected = comboBox1.SelectedIndex;
Properties.Settings.Default.Save(); 

// this is retrieve (use it in window_load event for example)
comboBox1.SelectedIndex = Convert.ToInt32(Properties.Settings.Default.selected);

Upvotes: 0

antiduh
antiduh

Reputation: 12435

You have to manually save the value and load it up again when the program starts.

The easy way to do it with Visual Studio is to create a Settings class. In VS, right click your project, click add new, scroll to "Settings File", add. VS will show you a UI where you can create new properties in the settings object that you can chose the name of.

If I create a new property called "ComboboxValue" of type string, I can reference it in the code as Settings1.Default.ComboboxValue = "hello world";

Here's the MSDN on it:

http://msdn.microsoft.com/en-us/library/a65txexh(v=vs.100).aspx

Upvotes: 1

Related Questions