У меня есть небольшая проблема, которая раздражает меня в течение нескольких часов.
В моем приложении WinForms (.NET 3.5) я создаю несколько ComboBoxes (DropDownStyle = DropDown) в TableLayoutPanel во время выполнения и заполняю его строками. ComboBoxes настроены на автоматическое изменение размера (Anchor = Left | Right).
Проблема заключается в том, что всякий раз, когда ComboBoxes изменяются в размерах (то есть диалоговом окне изменяется), часть editbox ComboBox получает выделение/выделение целиком. По-моему, это создает очень запутывающий эффект для клиента, которого я хочу избежать.
Проблема не возникает, если ComboBox имеет фиксированный размер.
Также обратите внимание, что изменение DropDownStyle не является вариантом - мне нужна возможность ввода текста вручную.
Я уже пытался испортить процесс переопределения метода OnPaint, который не совсем сработал. Я также попытался очистить выбор в событии ComboBox.Resize, который работал в некотором роде, но выглядел как очень уродливое решение - было много мерцания, намеренно выбранный текст стал снят с выбора, и мне пришлось бы добавить обработчик событий к каждому и каждый ComboBox в моем диалоговом окне.
Есть ли лучшее решение этой проблемы?
Спасибо заранее.
С уважением, Andy