ComboBox.OnSelectionChangeCommitted Method (EventArgs)

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Raises the SelectionChangeCommitted event.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

protected virtual void OnSelectionChangeCommitted(
	EventArgs e
)

Parameters

e
Type: System.EventArgs

An EventArgs that contains the event data.

The SelectionChangeCommitted is raised only when the user changes the combo box selection, or when you set the SelectedIndex. However, depending on how the ComboBox is configured, and how the user changes the selected item, the SelectionChangeCommitted event may not be raised. Alternatively, you can handle the SelectedIndexChanged, but note that this event occurs whether the index is changed programmatically or by the user.

Raising an event invokes the event handler through a delegate. For more information, see Handling and Raising Events.

The OnSelectionChangeCommitted method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.

Notes to Inheritors:

When overriding OnSelectionChangeCommitted in a derived class, be sure to call the base class's OnSelectionChangeCommitted method so that registered delegates receive the event.

The following code example uses the SelectionChangeCommitted event and the SelectionLength property to change the length of the text box depending on what the user has selected and committed.

private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)
{

    ComboBox senderComboBox = (ComboBox) sender;

    // Change the length of the text box depending on what the user has 
    // selected and committed using the SelectionLength property.
    if (senderComboBox.SelectionLength > 0)
    {
        textbox1.Width = 
            senderComboBox.SelectedItem.ToString().Length *
            ((int) this.textbox1.Font.SizeInPoints);
        textbox1.Text = senderComboBox.SelectedItem.ToString();
    }
}

.NET Framework
Available since 1.1
Return to top
Show: