Este tema aún no ha recibido ninguna valoración - Valorar este tema

ComboBox.SelectedIndexChanged (Evento)

Se produce cuando ha cambiado la propiedad SelectedIndex.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

public event EventHandler SelectedIndexChanged
/** @event */
public void add_SelectedIndexChanged (EventHandler value)

/** @event */
public void remove_SelectedIndexChanged (EventHandler value)

En JScript, se pueden controlar los eventos que define una clase, pero no se pueden definir unos propios.
No aplicable.

Se puede crear un controlador de eventos para este evento a fin de determinar cuándo se ha modificado el índice seleccionado en el control ComboBox. Puede ser de utilidad cuando se necesita mostrar información en otros controles en función de la selección actual en el control ComboBox. El controlador de eventos de este evento se puede usar para cargar la información en los demás controles.

Para obtener más información sobre la forma de controlar eventos, vea Utilizar eventos.

En el siguiente ejemplo de código se muestra cómo inicializar un control ComboBox estableciendo el valor de las propiedades MaxDropDownItems y DropDownStyle y utilizando los métodos FindStringExact para buscar el ComboBox. También se muestra cómo controlar el evento SelectedIndexChanged. Para ejecutar el ejemplo, pegue el código siguiente en un formulario que contenga un TextBox denominado TextBox1 y llame al método InitializeComboBox del constructor del formulario o el evento Load.

	// Declare comboBox1 as a ComboBox.
	internal System.Windows.Forms.ComboBox ComboBox1;
    
	// This method initializes the combo box, adding a large string array
	// but limiting the drop-down size to six rows so the combo box doesn't 
	// cover other controls when it expands.
	private void InitializeComboBox()
	{
		this.ComboBox1 = new System.Windows.Forms.ComboBox();
		string[] employees = new string[]{"Hamilton, David", "Hensien, Kari",
				"Hammond, Maria", "Harris, Keith", "Henshaw, Jeff D.", 
				"Hanson, Mark", "Harnpadoungsataya, Sariya", 
				"Harrington, Mark", "Harris, Keith", "Hartwig, Doris", 
				"Harui, Roger", "Hassall, Mark", "Hasselberg, Jonas", 
				"Harnpadoungsataya, Sariya", "Henshaw, Jeff D.", 
				"Henshaw, Jeff D.", "Hensien, Kari", "Harris, Keith", 
				"Henshaw, Jeff D.", "Hensien, Kari", "Hasselberg, Jonas",
				"Harrington, Mark", "Hedlund, Magnus", "Hay, Jeff", 
				"Heidepriem, Brandon D."};

		ComboBox1.Items.AddRange(employees);
		this.ComboBox1.Location = new System.Drawing.Point(136, 32);
		this.ComboBox1.MaxDropDownItems = 5;
		this.ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
		this.ComboBox1.Name = "ComboBox1";
		this.ComboBox1.Size = new System.Drawing.Size(136, 81);
		this.ComboBox1.TabIndex = 0;
		this.Controls.Add(this.ComboBox1);
		
		// Associate the event-handling method with the 
		// SelectedIndexChanged event.
		this.ComboBox1.SelectedIndexChanged += 
			new System.EventHandler(ComboBox1_SelectedIndexChanged);
	}
...

	// This method is called when the user changes his or her selection.
	// It searches for all occurrences of the selected employee's
	// name in the Items array and adds the employee's name and 
	// the number of occurrences to TextBox1.Text.

	// CAUTION   This code exposes a known bug: If the index passed to the 
	// FindStringExact(searchString, index) method is the last index 
	// of the array, the code throws an exception.
	private void ComboBox1_SelectedIndexChanged(object sender, 
		System.EventArgs e)
	{

		ComboBox comboBox = (ComboBox) sender;

		// Save the selected employee's name, because we will remove
		// the employee's name from the list.
		string selectedEmployee = (string) ComboBox1.SelectedItem;

		int count = 0;
		int resultIndex = -1;

		// Call the FindStringExact method to find the first 
		// occurrence in the list.
		resultIndex = ComboBox1.FindStringExact(selectedEmployee);

		// Remove the name as it is found, and increment the found count. 
		// Then call the FindStringExact method again, passing in the 
		// index of the current found item so the search starts there 
		// instead of at the beginning of the list.
		while (resultIndex!=-1)
		{
			ComboBox1.Items.RemoveAt(resultIndex);
			count += 1;
			resultIndex = ComboBox1.FindStringExact(selectedEmployee, 
				resultIndex);
		}
		// Update the text in Textbox1.
		TextBox1.Text = TextBox1.Text+ "\r\n" + selectedEmployee + ": "
			+ count;
	}

    // Declare comboBox1 as a ComboBox.
    System.Windows.Forms.ComboBox comboBox1;

    // This method initializes the combo box, adding a large string array
    // but limiting the drop-down size to six rows so the combo box doesn't 
    // cover other controls when it expands.
    private void InitializeComboBox()
    {
        this.comboBox1 = new System.Windows.Forms.ComboBox();
        String employees[] = new String[] { "Hamilton, David", "Hensien, Kari", 
            "Hammond, Maria", "Harris, Keith", "Henshaw, Jeff D.", 
            "Hanson, Mark", "Harnpadoungsataya, Sariya", "Harrington, Mark",
            "Harris, Keith", "Hartwig, Doris", "Harui, Roger", "Hassall, Mark",
            "Hasselberg, Jonas", "Harnpadoungsataya, Sariya", 
            "Henshaw, Jeff D.","Henshaw, Jeff D.", "Hensien, Kari", 
            "Harris, Keith", "Henshaw, Jeff D.", "Hensien, Kari", 
            "Hasselberg, Jonas", "Harrington, Mark", "Hedlund, Magnus", 
            "Hay, Jeff", "Heidepriem, Brandon D." };

        comboBox1.get_Items().AddRange(employees);
        this.comboBox1.set_Location(new System.Drawing.Point(136, 32));
        this.comboBox1.set_MaxDropDownItems(5);
        this.comboBox1.set_DropDownStyle(ComboBoxStyle.DropDownList);
        this.comboBox1.set_Name("comboBox1");
        this.comboBox1.set_Size(new System.Drawing.Size(136, 81));
        this.comboBox1.set_TabIndex(0);
        this.get_Controls().Add(this.comboBox1);
        // Associate the event-handling method with the 
        // SelectedIndexChanged event.
        this.comboBox1.add_SelectedIndexChanged(new System.EventHandler(
            comboBox1_SelectedIndexChanged));
    } //InitializeComboBox
...

    // This method is called when the user changes his or her selection.
    // It searches for all occurrences of the selected employee's
    // name in the Items array and adds the employee's name and 
    // the number of occurrences to textBox1.Text.
    // CAUTION   This code exposes a known bug: If the index passed to the 
    // FindStringExact(searchString, index) method is the last index 
    // of the array, the code throws an exception.
    private void comboBox1_SelectedIndexChanged(Object sender, 
        System.EventArgs e)
    {
        ComboBox comboBox = (ComboBox)sender;
        // Save the selected employee's name, because we will remove
        // the employee's name from the list.
        String selectedEmployee = (String)(comboBox1.get_SelectedItem());

        int count = 0;
        int resultIndex = -1;
        // Call the FindStringExact method to find the first 
        // occurrence in the list.
        resultIndex = comboBox1.FindStringExact(selectedEmployee);
        // Remove the name as it is found, and increment the found count. 
        // Then call the FindStringExact method again, passing in the 
        // index of the current found item so the search starts there 
        // instead of at the beginning of the list.
        while (resultIndex != -1) {
            comboBox1.get_Items().RemoveAt(resultIndex);
            count += 1;
            resultIndex = comboBox1.FindStringExact(selectedEmployee, 
                resultIndex);
        }
        // Update the text in textBox1.
        textBox1.set_Text(textBox1.get_Text() + "\r\n" + selectedEmployee 
            + ": " + count);
    } //comboBox1_SelectedIndexChanged

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
¿Le ha resultado útil?
(Caracteres restantes: 1500)