Поле со списком Winforms теряет значение автозаполнения на lostfocus

У меня проблемы с комбинированным полем Winforms, теряющим значение, найденное во время автозаполнения, когда пользователь переключается на следующий элемент управления.

Вот пример кода (в виде Nunit Test, который откроет форму):

[Test]
[STAThread]
public void Testing_AsDropDownList()
{
    var comboBox = new ComboBox();
    comboBox.DropDownStyle = ComboBoxStyle.DropDownList;
    comboBox.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
    comboBox.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
    comboBox.Items.Add(new ComboPair("aaa", "ItemAAA"));
    comboBox.Items.Add(new ComboPair("bbb1", "ItemBBB1"));
    comboBox.Items.Add(new ComboPair("bbb2", "ItemBBB2"));
    comboBox.Items.Add(new ComboPair("bbb3", "ItemBBB3"));
    comboBox.Items.Add(new ComboPair("ccc", "ItemCCC"));
    var textBox = new TextBox{ Multiline = true };        
    comboBox.Leave += (sender, args) => textBox.Text = "On Leave: " + comboBox.SelectedItem;
    comboBox.LostFocus += (sender, args) => textBox.Text += " ... On LostFocus: " + comboBox.SelectedItem;
    var frm = new Form();
    frm.Width = 300;
    frm.Height = 100;
    comboBox.Dock = System.Windows.Forms.DockStyle.Top;
    textBox.Dock = System.Windows.Forms.DockStyle.Bottom;
    frm.Controls.Add(comboBox);
    frm.Controls.Add(textBox);
    Application.EnableVisualStyles();
    Application.Run(frm);
}

Чтобы воспроизвести ошибку, выполните следующие действия:

Запустите тест. Форма появится во всплывающем окне ...Теперь наберите 'Баа3' выбрать соответствующий пункт с автозаполнением. Теперь вы увидите, что текстовое поле было обновленоБаа3' как выбранный вами элемент.Теперь нажмите TAB

Теперь вы увидите, что текстовое поле имеет фокус, и выбор комбо изменился на 'bbb1', Также обратите внимание, что в текстовом поле он показывает, что выбранное значение все еще былоБаа3' когда уволили, но потом это былоbbb1' когда событие потерянного фокуса срабатывает.

Такое же поведение можно увидеть, если вы щелкнете в поле со списком, чтобы он потерял фокус на шаге 3.

Если вы сделаете что-нибудь еще на шаге 3, он выиграетУ меня нет этой проблемы. т.е. если вы:

Нажмите 'войти'Нажмите 'вверх» затем 'вниз' вернуться кБаа3"щелкните элементи т.п.

Есть идеи?

Ответы на вопрос(2)

Ваш ответ на вопрос