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