Прекратите изменять текст, когда выпадающий список - PullRequest
1 голос
/ 07 февраля 2020

Использование WinForms. У меня есть выпадающий список с DropDownStyle DropDown. В предметы я положил один предмет "XA". Когда пользователь вводит «X» в ComboBox (еще не выпал), а затем нажимает кнопку выпадающего меню, «X» автоматически заменяется на «XA». Как я могу остановить это? Я хотел бы, чтобы пользователь мог сохранять текст как «X» и изменять текст на «XA» только в том случае, если в раскрывающемся списке была нажата «XA». Чтобы заново создать новое приложение WinForms и добавить поле со списком, добавьте следующий код

        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.DropDownStyle = ComboBoxStyle.DropDown;
            comboBox1.Items.Add("XA");
        }

enter image description here enter image description here

Примечание что если пользователь не нажимает на выпадающий список, то в поле со списком остается «X».

Обратите внимание, что здесь есть похожий звучащий вопрос, но на самом деле он другой. Как установить ComboBox по умолчанию * не в раскрывающемся списке *, если элемент списка начинается с того же текста, что и раскрывающийся элемент?

1 Ответ

0 голосов
/ 08 февраля 2020

Я думаю, что это решение должно помочь вам:

Ошибка комбобокса Winforms - 2 элемента с одинаковым значением, но с другим ключом

Изменяется if (m.Msg == LB_FINDSTRING) на m.Msg = LB_FINDSTRINGEXACT;, что должно предотвратить поведение, которое вы описываете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...