1 out of 2 rated this helpful - Rate this topic

ComboBox.SelectionChangeCommitted Event

Occurs when the selected item has changed and that change is displayed in the ComboBox.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)
public event EventHandler SelectionChangeCommitted

SelectionChangeCommitted is raised only when the user changes the combo box selection. Do not use SelectedIndexChanged or SelectedValueChanged to capture user changes, because those events are also raised when the selection changes programmatically.

You can create a SelectionChangeCommitted event handler to provide special handling for the ComboBox when the user changes the selected item in the list.

For more information about handling events, see Consuming Events.

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

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
No - This does NOT fire all the time when the user changes selection

You say in your own documentation "Do not use SelectedIndexChanged or SelectedValueChanged to capture user changes, because those events are also raised when the selection changes programmatically."    Please explain to me then why it does not fire when SuggestAppend is set on and the user types the entry and tabs away?   Only if the user selects with the mouse or arrow keys does the change committed fire.

 

Not always firing for me too
When I type in the combo box to select an item and then tab out, the event is not fired. When I select an item with the mouse or change the selection with the up or down arrow keys, it is fired.
Be careful - this event is not always fired
See http://connect.microsoft.com/VisualStudio/feedback/details/115189/selectionchangecommitted-event-sometimes-not-raised-by-combobox

This event is not always fired due to a bug in the underlying Windows control.

Not yet, isn't
You haven't replied our request of SelectionChangeCommitted event's bug or feature or whatever yet. We have some difficulties using it. We do hope your reply.