01. december 2003 - 17:31Der er
10 kommentarer og 1 løsning
Array af control
I "gamle dage" kunne man oprette et array af en kontrol, således af man f.eks. kunne have en masse knapper, og lige meget hvilken en af dem man trykkede på ville den hoppe ind i den samme kode, og udfører en bestemt kommando. VB spurgte om man ville oprette et array af en control når man kopierede controlen og satte den ind samme sted. I .NET syntes jeg ikke helt at man har samme mulighed. Hvad gør man så?
Hvis du vil lave et array, er du nød til at lave det i koden. Jeg har et eksempel hvor jeg opretter 10 pictureboxes, og tilføjer dem på en form.
private void setUpPictureboxes() { Point startLocation = new Point(8,96); pictureBoxes = new PictureBox[10]{ new PictureBox(), new PictureBox(), new PictureBox(), new PictureBox(), new PictureBox(), new PictureBox(), new PictureBox(), new PictureBox(), new PictureBox(), new PictureBox()};
for ( int i = 0 ; i < pictureBoxes.Length; i++ ) { this.Controls.Add(pictureBoxes[i]); pictureBoxes[i].Visible = true ; pictureBoxes[i].SetBounds(startLocation.X, startLocation.Y + i * 55, 100, 50 ) ; this.pictureBoxes[i].Click += new System.EventHandler(this.pictureBoxes_Clik); } }
Hvis du vil gøre det i din gui markerer du bare alle buttons, klikker properties, klikker på events, og vælger den samme funktion til 'click'. Så har du dog ikke et array af buttons.
Ja det har jeg tænkt på, men det vil nok være lidt upraktisk hvis jeg har 100 knapper der skal gøre det samme, men hver komme med et bestemt indput. Kan det passe at .NET har mistet nogle funktioner? Jeg troede at ved at opgradere fra VB til VB.NET ville man kunne få en bedre og mere optimal kode, men måske tager jeg fejl. Jeg tager dog imod alle forslag...
Godt link. Ikke lige den måde jeg havde regnet med, men det lader til at være den eneste i VB.NET. Jeg skal nok kunne bruge det til et eller andet. Kom med et svar og du skal få dine velfortjente points.
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.