2012-07-16 16 views
8

Quiero que mi aplicación tome el valor de un ComboBox y luego establecer el que elija el usuario o de alguna manera obtener el valor previamente seleccionado.Obtener el valor anterior de ComboBox

Lo que pasa es que dentro de mi Formulario, hay cuatro listas y un ComboBox (que contiene todos los valores de las listas) y quiero volver a llenar el valor de ComboBox de la lista y luego eliminar el elemento recién seleccionado de otra/misma lista.

Respuesta

16

Quiere manejar el evento ComboBox.Enter. A continuación, guarde SelectedItem o SelectedValue en una variable miembro. Siempre que lo desee, puede volver a asignar ese valor al ComboBox.

Regístrese para el evento. Puede hacerlo de dos maneras:

Hágalo a través del diseñador. Seleccione su cuadro combinado. En la "ventana Propiedades", haga clic en el ícono del rayo para mostrar todos sus eventos. Luego, busca "Enter" y haz doble clic en el cuadro. Generará automáticamente la función de devolución de llamada ("controlador de eventos") y lo conectará al evento.

enter image description here

enter image description here

Puede hacerlo mediante programación la misma cosa. En el constructor, conectar un controlador de eventos de la firma correcta:

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; 
    } 
} 
+1

Oh, está bien, así que al final voy a tener que aprender a manejar los ... – smsware

+0

Administrar qué, exactamente? –

+0

eventos, nunca los usé realmente ... parecen aterrador :) – smsware

Cuestiones relacionadas