smsware
smsware

Reputation: 479

Getting previous value of the ComboBox

I want my application to grab the value of a ComboBox and then to set the one chosen by the user or to somehow get the previously selected value.

The thing is that within my Form, there are four lists and a ComboBox (which contains all the values from the lists) and I want to repopulate the value of the ComboBox back to the list it was taken from and then remove the newly selected item from other/same list.

Upvotes: 12

Views: 17003

Answers (1)

Jonathon Reinhart
Jonathon Reinhart

Reputation: 137398

You want to handle the ComboBox.Enter event. Then save off the SelectedItem or SelectedValue to a member variable. Whenever you want then, you can re-assign that value to the ComboBox.

Register for the event. You can do this one of two ways:

Do it through the designer. Select your combo box. In the "Properties window", click the lightning bolt icon to show all of its events. Then find "Enter", and double-click in the box. It will automatically generate the callback function ("event handler") for you, and wire it up to the event.

enter image description here

enter image description here

You can programatically do the same thing. In the constructor, hook up an event handler of the correct signature:

public partial class Form1 : Form 
{
    public Form1()
    {
        InitializeComponent();
        comboBox1.Enter += comboBox1_Enter;
    }

    private void comboBox1_Enter(object sender, EventArgs e)
    {
        m_cb1PrevVal = comboBox1.SelectedValue;
    }

    private void RestoreOldValue()
    {
        comboBox1.SelectedValue = m_cb1PrevVal;
    }
}

Upvotes: 22

Related Questions