Avatar billede ahara Nybegynder
24. november 2007 - 23:45 Der er 10 kommentarer

Panel.Controls

Er der nogen der kan fortælle mig lidt om Forms.Controls, Panel.Controls mm. Har et Form object en liste af controls og hvad er det for en liste type?

Jeg kan jo sætte controls ind på listen, men arbejder man normalt med to lister i forbindelse med at holde styr på hvad der er på listen hvis ens controls indgår som variabel i en anden klasse (nok lidt kryptisk skrevet).
Avatar billede nielle Nybegynder
25. november 2007 - 11:42 #1
Controls er en liste af kontroller. Den kan altså indeholde Button’s, TextBox’e, GridView’s, osv. Nogle kontroller kan i sig selv indeholde andre kontroller – det gælder f.eks. for Panel og den type kontroller.

En Form har en Controls liste og denne indeholder de kontroller du indsætter i formen. Hvis du drag’n’dropper kontrollerne ind på formen fra Toolbox-panelet i venstre side, sker dette i baggrunden: Hvis du kigger på den kode som VS selv laver, kan du se at kontrollerne oprettes og at de så efterfølgende Add()’es til controls.

Der er ingen som helst til hindre for at du selv kunne gøre dette i stedet for at overlade det til VS.

Når du opretter en Panel på dis side bliver selve panelet indsat i Form’ens Controls-liste. Når du indsætter nye kontroller på formen og placere dem inden i Panel’et så vil de ikke blive Add()’et til Form’ens Controls, men derimod til Panel’ets.

Du kan endda have andre Panel’er inde i dit Panel. PÅ denne måde kan du ende med en rimelig dub træstruktur af kontroller.

Hvis du f.eks. indsætter to Textbox’e i din Form, Så et Panel, hvori du indsætter to nye Textbox’e. Så endnu et Panel og to Textbox’e; Det kunne se sådan ud (eksemplet skal nok lige pastes til Notepad for at du kan se detaljerne)

Form
|
Controls
  + Textbox1
  + Textbox2
  + Panel1
    |
    Controls
      + Textbox3
      + Textbox4
      + Panel2
        |
        Controls
          + Textbox5
          + Textbox6
Avatar billede nielle Nybegynder
03. december 2007 - 19:58 #2
Hvad med noget respons?
Avatar billede ahara Nybegynder
03. december 2007 - 21:47 #3
Sorry. Tak for svaret.

Jeg vil gerne kunne sortere mine Panel.Controls med brug af IComparable, men jeg har ikke adgang til Sort() på et Panel.Controls som jeg f.eks. har på en ArrayList. Kan man sortere Panel.Controls?
Avatar billede nielle Nybegynder
04. december 2007 - 06:51 #4
Sortere ud fra hvilke kriterier?
Avatar billede ahara Nybegynder
05. december 2007 - 19:11 #5
Det kunne være en userControl der indeholder en variabel kaldet index (int)
Avatar billede nielle Nybegynder
05. december 2007 - 19:22 #6
Jo, men hvad mener du med at de sorteres? Hvad skal effekten være ... de vil jo f.eks. ikke blive flyttet på formen eller noget i den stil af at optræde i en anden rækkefølge i Controls.
Avatar billede ahara Nybegynder
05. december 2007 - 22:35 #7
Jeg vil gerne sortere Controls listen så jeg kan benytte en foreach() til at sætte forskellige controls ind på et TableLayoutPanel baseret på deres index. Jeg ønsker ikke at have en ekstra list f.eks. en ArrayList som jeg sorterer.
Avatar billede nielle Nybegynder
10. december 2007 - 19:04 #8
Det kan formentligt godt lade sig gøre.

Det kræver dog en hel masse ekstra kode, og der er næppe vundet noget i den sidste ende; Et ekstra array med de sortede værdier vil stadig pege mod de samme kontroller og vil derfor kun fylde for selve pointerene.
Avatar billede nielle Nybegynder
28. december 2007 - 21:26 #9
Er du kommet vidre med denne her?
Avatar billede nielle Nybegynder
07. januar 2008 - 17:46 #10
??
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

IT-JOB

Politiets Efterretningstjeneste

Datacentertekniker hos PET

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Senior Platform Engineer

Operate Technology A/S

PHP-udvikler til Drupal

Forsvarsministeriets Materiel- og Indkøbsstyrelse

IT-specialister til Forsvarets nye Digital Backbone - En unik mulighed