Impedir o comportamento de Seleção automática de um System.Window.Forms.ComboBox (C #)
Fundo:
eu tenho umForms.ComboBox
com umDropDownStyle = DropDown
.
Eu não usoAutoComplete
, mas implementei algo semelhante, que não apenas filtra o início do texto, mas usa uma expressão regular e mostra todos os itens que correspondem ao texto inserido. Isso funciona bem.
No entanto, quando digito a primeira letra de um item correspondente, oComboBox
volta ao seu comportamento original e defineDroppedDown = true
e seleciona automaticamente a primeira entrada e completa o texto para corresponder ao item selecionado (semelhante aAutoCompleteMode
Acrescentar). O que eu quero não é seleção automática e conclusão automática.
O que eu descobri até agora é que, de alguma forma, tenho que impedirSendMessage()
comCB_FINDSTRING
de ser chamado e substituirCB_FINDSTRING
comCB_FINDSTRINGEXACT
(Link MSDN)
Eu acho que tenho que estender a classe ComboBox, mas não tenho certeza de quais métodos tenho que substituir. Estou trabalhando com o C # .NET Framework v3.5.
Questões:
Como faço para estender umWindows.Forms.ComboBox
impedir o comportamento de seleção automática?Ligações:
Como impedir a seleção automática no ComboBox no menu suspenso, exceto as correspondências exatas? (não me ajudou)