Avatar billede mosquito Nybegynder
11. november 2005 - 21:44 Der er 10 kommentarer og
1 løsning

ComboBox selected item changed event - hvordan?

Jeg sidder med en simple comboBox med nogle string variabler i. Når jeg vælger comboBoxen, vises de fint i en dropdown funktion. Herligt.

Men nu er det sådan at jeg gerne vil have en anden control til at reagere i realtid på den string, som vises under den markerede index. Jeg synes jeg har prøvet alt uden at få det til at virke.

Det er ikke noget problem at få den til at vise indexet, når jeg committer/vælger string'en, men det er jo ikke det jeg ønsker.

kode snip:

this.cboCustomers.TextChanged += new System.EventHandler(this.cboCustomers_Changed);
            this.cboCustomers.SelectedValueChanged += new System.EventHandler(this.cboCustomers_Changed);
            this.cboCustomers.SelectedIndexChanged += new System.EventHandler(this.cboCustomers_Changed);
            this.cboCustomers.SelectionChangeCommitted += new System.EventHandler(this.cboCustomers_Changed);
           

private void cboCustomers_Changed(object sender, System.EventArgs e)
{
    this.Text = cboCustomers.Text;
}

ingen af dem virker som jeg ønsker.... :-s

Jeg har set det i en tidligere funktion, men kan ikke selv få det til at fungere. Hvad gør jeg galt.
Avatar billede bitsch Nybegynder
12. november 2005 - 08:22 #1
Normalt bruger man SelectedIndexChanged, hvorfor dette ikke virker i dit eksempel er ikke umiddelbart til at se. Forudsat at cboCustomers er den ComboBox du skifter, og at denne har mere end et element i sin drop down liste.
Avatar billede bitsch Nybegynder
12. november 2005 - 08:23 #2
Ups missede lige at det ikke var problemet, sorry
Avatar billede www.jakub.dk Nybegynder
12. november 2005 - 10:11 #3
Har du autopostback slået til? Det plejer som regel være årsagen
Avatar billede mosquito Nybegynder
12. november 2005 - 11:16 #4
www.jakub.dk > autopostback?? jeg ser ingen property af den type.... Det er på en windowsform jeg har min ComboBox. Ellers forklar hvad du mener med postback.
Avatar billede bitsch Nybegynder
12. november 2005 - 13:48 #5
Det du ønsker er ikke direkte supporteret af ComboBox. Der er ingen events som fyres af selve drop down listen (bortset fra når den fremkommer comittes og lukkes). Jeg kunne dog egentligt godt tænke mig at vide hvilken brugeroplevelse det er du ønsker at opnå.
Avatar billede mosquito Nybegynder
12. november 2005 - 15:32 #6
bitch > Det jeg ønsker at få vist i nogle textboxe, er relaterede oplysninger til det item der vises når musen er over dette item. Eksempelvis kunne jeg være interesseret i at kunne redigere i en kunde fra databasen. I comboboxen får jeg vist navnet, men da der kan være flere med samme navn, er det rart at få vist yderligere oplysninger i de nævne textboxe. Her kan jeg så se alle de oplysninger som jeg ikke kan se via comboboxen, som kun har navnet og jeg slipper for at vælge et emne for måske at finde ud af at det ikke er det jeg søger.

på samme måde som når man lister biler i en combobox og vil vise et billede af bilen der er relateret til det item som musen er over.

Jeg håber jeg har forklaret mig, så det er forståeligt.

Som jeg ser det, må der være en eller anden event, der fyres af.

Hvordan skulle carret'en ellers kunne skifte teksten til hvid, og baggrundsfarven til blå, når jeg vælger dropdownboxen, og flytter musen ned over de items der er i den?
Avatar billede bitsch Nybegynder
12. november 2005 - 17:48 #7
Ja problemet kender jeg, men normalt vil man lave en custom ComboBox hvor DropDown listen tager sig anderledes ud end normalt. Man kan f.eks. have flere linier med oplysninger osv. At synkronicere noget medens DropDown boksen er nede er ikke en normal brugeroplevelse. Der er derimod en utal af foreslag på hvorledes man kan modificere sin DropDown liste så den tilfredsstiller det aktuelle behov.
Avatar billede bitsch Nybegynder
12. november 2005 - 18:06 #8
Det sidste du skriver vedr. hvordan skulle carret'en ellers kunne skifte teksten ... er ligegyldigt. Den almindelige ComboBox exponerer ikke DropDown listen, så hvad der måtte være af events på selve DropDown listen kan du ikke tilgå.
Der er mange sites der viser hvorledes man kan lave en Custom ComboBox og derved også en der exponerer de events du har behov for. En "Blog" som jeg ved berør emnet kan du finde her: http://blogs.msdn.com/jfoscoding/ Søg blot på ComboBox og du vil finde meget fine eksempler.
Avatar billede mosquito Nybegynder
12. november 2005 - 18:57 #9
bitch > ok. Så med andre ord, findes der ikke en property eller metode som kan løse opgaven uden jeg skal customize en control. Det må jeg leve med, jeg var såmænd også kun nysgerrig, da jeg ikke umiddelbart kunne finde en event der håndterede eventen.

Men smid et svar og jeg takker for hjælpen og linket, som jeg også kan bruge til andet.
Avatar billede bitsch Nybegynder
13. november 2005 - 11:16 #10
Nej desværre er det ikke alle Windows Forms kontroller som er lige smarte, så der er ikke en enkel løsning på dette problem.
Avatar billede www.jakub.dk Nybegynder
13. november 2005 - 11:20 #11
Autopostback property findes kun i web så vidt jeg ved, så du kan godt se bort fra mit kommentar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester