Avatar billede escorpion Nybegynder
12. september 2006 - 14:58 Der er 10 kommentarer og
1 løsning

comboboks værdioverførelse

Hej!

Jeg har problemer med at overføre værdien fra en comboboks til en almindelig tekstboks.
Det skal være sådan, at nå værdien af combobokse ændres, overføres den nye værdi automatisk til tekstboksen.

her er mit program:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.TextChanged += "")
            {
                string bokstekst = comboBox1.Text;
            }
        }

private void bxBoks_TextChanged(object sender, EventArgs e)
        {
            bxBoks.text = bokstekst;
        }


help
Avatar billede mikkel_sommer Nybegynder
12. september 2006 - 15:19 #1
Prøv med:

if(comboBox1.SelectedIndexChanged)
{
  bxBoks.text = comboBox1.selectedValue.ToString();
}
Avatar billede mikkel_sommer Nybegynder
12. september 2006 - 15:20 #2
Sludder glem selvfølgelig if'en

Bare sæt:

bxBoks.text = comboBox1.selectedValue.ToString();

ind i :

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
Avatar billede escorpion Nybegynder
12. september 2006 - 15:31 #3
Tja jeg har prøvet det, men værdien blir ikke overført til boksen.

Jeg har så prøvet bare med:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string = comboBox1.tekst;
}

private void bxBoks_TextChanged(object sender, EventArgs e)
        {
            bxBoks.text = bokstekst;
        }

Men den kan sku ikke finde "bokstekst" i nederste funktion...
Avatar billede mikkel_sommer Nybegynder
12. september 2006 - 15:35 #4
Tror det som går galt er:

1. I din if vil du finde ud af om teksten er ændret men += "" i den sammenhæng giver ikke så meget mening den kunne du lave på en streng selvom dette heller ikke ville gøre den store forskel da du append'er ingenting("").

2. Der er ingen grund til at tjekke på om teksten i comboboxen er ændret for var den ikke det ville du ikke komme ind i comboBox1_SelectedIndexChanged-metoden.

3. Den variabel som du tildeler comboboxens tekst til erklærer du lokalt inde i metoden og kan derfor ikke tilgå den i bxBoks_TextChanged-metoden. I dette tilfælde er dette ikke nødvendigt men skulle du have brug for at tildele en værdi til en variabel og så brugen den i en anden metode er du nødt til at erklære variablen globalt.
Avatar billede mikkel_sommer Nybegynder
12. september 2006 - 15:36 #5
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
  bxBoks.text= comboBox1.tekst;
}


private void bxBoks_TextChanged(object sender, EventArgs e)
{
    // ikke noget kode her!!!
}
Avatar billede mikkel_sommer Nybegynder
12. september 2006 - 15:37 #6
om igen:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
  bxBoks.text = comboBox1.selectedValue.ToString();
}


private void bxBoks_TextChanged(object sender, EventArgs e)
{
    // ikke noget kode her!!!
}
Avatar billede mikkel_sommer Nybegynder
12. september 2006 - 15:40 #7
du kan også bruge:

comboBox1.SelectedItem.ToString();
Avatar billede escorpion Nybegynder
12. september 2006 - 15:43 #8
Ja, kan godt se det ikke er nødvendigt med en if.

Så du mener jeg skal lave private void om til public. (det nytter ikke)

jeg kan ikke lige gennemskue den her:P
Avatar billede escorpion Nybegynder
12. september 2006 - 15:47 #9
Jeg tror jeg har fundet ud af problemet.
Jeg havde åbenbart en dobbelt comboboks liggende, og jeg indsatte så koden i den forkert.:P
tak for hjælpen.
gir du et svar.
Avatar billede mikkel_sommer Nybegynder
12. september 2006 - 15:48 #10
1. Grunden til at den ikke kan finde bokstekst er som jeg skriver i 12/09-2006 15:35:50/3 at den er erklæret lokalt inde i comboBox1_SelectedIndexChanged-metoden og kun vil eksistere så længe afviklingen befinder sig derinde.

Nej du behøver ikke lave den om til public, inde i comboBox1_SelectedIndexChanged_metoden sætter du det her ind:

bxBoks.text = comboBox1.selectedValue.ToString();

eller:

comboBox1.SelectedItem.ToString();

og i bxBoks_TextChanged-metoden sletter du det du har, der skal ikke stå noget.

bxBoks_TextChanged-metoden kan bruges hvis du vil gøre noget når der bliver indtastet noget i feltet eksempelvis validering af den indtastede data.
Avatar billede mikkel_sommer Nybegynder
12. september 2006 - 15:49 #11
nåeh ok ... ja det er jo hvad der kan ske, godt at du fandt den. Men stadigvæk er der ingen grund til at bruge bxBoks_TextChanged-metoden.

bxBoks.text = comboBox1.selectedValue.ToString();

er alt rigeligt.
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