Jorge Zapata
Jorge Zapata

Reputation: 2336

C# autocomplete combobox trigger SelectionChangeCommited

I'm having problems with the autocomplete property of a combobox. I want to trigger the SelectionChangeCommited event every time I choose an item using the autocomplete but it's not working. The only way the event is triggered is when I use the mouse click and select an option or when the combobox is focused and I use arrow keys on the keyboard. How do I achieve this behaviour using the autocomplete property?

My combo has these properties set:

AutoCompleteMode = SuggestAppend
AutoCompleteSource = ListItems
FormattingEnabled = True

The items in my combo are set with a datasource.

Any ideas? Thanks

Upvotes: 1

Views: 5481

Answers (2)

KreepN
KreepN

Reputation: 8598

If you mean that you want it to register a change when you start typing:

Call the SelectionChangeCommited event from the TextChanged event.

If you've never done this, the most basic example I could find was on the .net forums here. Granted, the methods shown there are generalities, but is very simple to understand and apply to your code.

EDIT FIXED (as of most recent comment):

Still tie the events together, but instead of using TextChanged, which would occur ever time you type, use the SelectedIndexChanged, which occurs when you use the mouse to select an auto suggested item.

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
   comboBox1_SelectionChangeCommitted(sender, e);
}

Upvotes: 2

DeveloperX
DeveloperX

Reputation: 4683

you canuse a trick and call comboBox1_SelectionChangeCommitted in Validated event

when ever text in combobox changes and user leave the combo box it will be fired

  private void comboBox1_Validated(object sender, EventArgs e)
    {
        comboBox1_SelectionChangeCommitted(sender, e);

    }

Upvotes: 0

Related Questions