Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting previous value of the ComboBox

Tags:

c#

winforms

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.

like image 715
smsware Avatar asked Jul 16 '12 00:07

smsware


1 Answers

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;
    }
}
like image 80
Jonathon Reinhart Avatar answered Sep 29 '22 05:09

Jonathon Reinhart