Avatar billede jumario Nybegynder
31. oktober 2003 - 20:41 Der er 6 kommentarer og
2 løsninger

Hjælp til variabelnavne

Jeg har en masse checkboxe kaldet Checkbox1 Checkbox2 osv.

hvordan refererer jeg til de navne i et for loop. altså jeg mener f.eks

for (int i = 1; i < 25; i++)
{
  if (checkboxNUMMER = blah blah)
    statement;
}

hvordan får jeg værdien af "i" til at stå i stedet for nummer? altså forbinder variabelnavnet med for-loopens værdi?
Avatar billede arne_v Ekspert
31. oktober 2003 - 20:44 #1
Lav dem til et array.
Avatar billede arne_v Ekspert
31. oktober 2003 - 20:45 #2
CheckBox[] chkbox = new CheckBox[25];

så kan du bruge chkbox[i] hvir i = 0..24 !
Avatar billede m_skau Nybegynder
31. oktober 2003 - 20:48 #3
Eller placer dem i en groupbox eller et panel, og referer til dem via  groupboxname.controls
Avatar billede jumario Nybegynder
31. oktober 2003 - 21:05 #4
hmm

            CheckBox[] chkbox = new CheckBox[25];

            for (int i = 1; i <=25; i++)
            {
                if (chkbox[i].Checked)
                {
                    valgtBox = i;
                    chkbox[i].CheckState = 0 ;
                }
            }

kommer ik nogen build fejl men programmet crasher når jeg vælger en box og trykker på en button :(
Avatar billede jumario Nybegynder
31. oktober 2003 - 21:08 #5
skal lige nævnes at jeg er fuldkommen grøn indenfor c# :|
Avatar billede jumario Nybegynder
31. oktober 2003 - 21:12 #6
fejlen der kommer er

An unhandled exception of type 'System.NullReferenceException' occurred in WindowsApplication2.exe

Additional information: Object reference not set to an instance of an object
Avatar billede arne_v Ekspert
31. oktober 2003 - 21:49 #7
1)  Du skal have instantieret alle check boxene.

for (int i = 0; i < 25; i++)
{
  chkbox[i] = new CheckBox();  // eller hvordan nu constructor skal se ud
}

2)

Ikke:

for (int i = 1; i <=25; i++)

men:

for (int i = 0; i < 25; i++)
Avatar billede roger Nybegynder
01. november 2003 - 15:27 #8
Du kunne også ligge dine CheckBoxes i en eller anden container, f.eks. i et panel, og gøre således:

        private CheckBox valgtCheckbox;

        private void DinMetode() {
            foreach(CheckBox cb in ditPanel.Controls){
                if (cb.Checked) {
                    valgtCheckbox = cb;
                    cb.CheckState = 0 ;
                }
            }
        }
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