You want to handle the ComboBox.Enter event. Then save the SelectedItem or SelectedValue in a member variable. Whenever you want, you can reassign this value to the ComboBox.
Register an event. You can do this in one of two ways:
Do it through the designer. Select your combo box. In the Properties window, click the Lightning icon to display all of its events. Then find "Enter" and double-click in the box. It will automatically generate a callback function ("event handler") for you and hook it to the event.


You can do the same programmatically. In the constructor, attach the event handler to 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; } }
Jonathon reinhart
source share