Tema: Re: Q: ComboBox
Autorius: Laimis
Data: 2011-08-29 16:00:09
zZz rašė:
> Konkrečiau aprašysiu.
>
> Yra combobox'as, su item'ų tekstais AAA ir BBB. Parinktas AAA.
> Spaudžiu drop, renku klaviatūra B. Pasižymi item'as BBB. Tada pele
> spaudžiu drop - tekstas liko BBB, index'as - į AAA. Turėtų būti BBB.

Tai variantų bent keletas. Gali būti (dabar tingoka gilintis į visą 
Combobox valdymo ideologijos ir įvykių grandinę, tačiau į ją, tokią ne 
visada intuityvią, kaskart vis tenka pasigilinti dar nuo VB6 Combobox 
laikų), kad reikšmė (value) pažymima/pasirenkama pele 
paspaudus/pažymėjus tam tikrą combobox elementą; t.y. dropdown įvykis 
nesusijęs su reikšmės pasirinkimu. Kita vertus, teksto rinkimas 
combobox'e skirtas spartesnei navigacijai, todėl dar nebūtinai pažymėtas 
(selected) tekstas atspindi pasirinkimą — combobox reikšmę (gal trūksta 
enter ar pamesti fokusą, t.y. validacijos). Dar gali būti, kad kaip nors 
neplanuotai užsisuka combobox įvykių cikliukas (įvykiai iššauna net po 
kelis kartus); tai įvyksta jei juose neapdairiai keičiamos combobox 
reikšmės.

Pusiau intuityviai atrodo, kad turėtų korektiškai suveikti, jei:
1) passirinktum/paspaustum pele;
2) surinkęs tekstą paspaudinėtum kursorių (Up/Down);
3) papildomai nustatytum .Text reikšmę dropdown įvykio procedūroje.

Na, dar gali būti:
http://stackoverflow.com/questions/2001361/combobox-selectedvalue-does-not-match-displayed-text-when-dropdownstyle-dropdow