Avatar billede vivaa.dk Nybegynder
30. november 2007 - 11:31 Der er 8 kommentarer og
1 løsning

Sløv indlæsning af GUI komponenter

Halløj..

Jeg har lavet en indlæsning af GUI komponenter, der er afhængig af specielle data som brugerne gemmer i en XML fil.

Havde jeg brugt drag'n'drop i Visual Studio og opbygget brugerfladen selv, er jeg ret sikker på at jeg ikke ville mærke noget til at disse komponenter skulle indlæses.

Men nu når de er kodet ind går der ca. 5-10 sekunder med at indlæse det..

det skal siges at det er ikke indlæsningen fra XML dokumentet der tager tid.. Jeg har debugget med breakpoints og fundet frem til er at der hvor den går i stå er der hvor jeg gennemløber mine elementer og adder dem til GUI'en.

Hvad kan være årsagen til dette?
Avatar billede vivaa.dk Nybegynder
30. november 2007 - 11:32 #1
Skal igen siges at det kører på windows mobile PDA :P

Spørgsmålene er mange for tiden.. hehe..
Avatar billede clausc Nybegynder
30. november 2007 - 14:40 #2
Prøv:
* kald SuspendLayout() på de kontroller du tilføjer til
* tilføj alle kontroller
* kald ResumeLayout(true)
Avatar billede vivaa.dk Nybegynder
03. december 2007 - 10:29 #3
altså fx når jeg opretter et Panel skal jeg lave suspendLayout på den og tilføje kontrollerne og så kalde resume layout??
Avatar billede clausc Nybegynder
03. december 2007 - 10:52 #4
Nej.

Givet du har et antal kontroller som du vil tilføje til en eksisterende kontrol (eller form); så prøv at kalde SuspendLayout() på den eksisterende kontrol/formen; tilføj alle de dynamiske kontroller og slut af med at kalde ResumeLayout(true) på den eksisterende kontrol/formen.
Avatar billede clausc Nybegynder
03. december 2007 - 10:55 #5
Det simpleste vil være at kalde SuspendLayout() / ResumeLayout() på formen
Avatar billede vivaa.dk Nybegynder
03. december 2007 - 12:48 #6
jeg har i formularens konstruktør sat:

          this.SuspendLayout();
            setControls();
            this.ResumeLayout();

Det har ikke hjulpet overhovedet.

Skal den være før eller efter Initialize Component?
Avatar billede clausc Nybegynder
03. december 2007 - 13:06 #7
Hvis ikke det hjalp, så har jeg ikke andre idéer :(
Avatar billede vivaa.dk Nybegynder
03. december 2007 - 13:10 #8
hmm..

Kan jeg evt, lave en messagebox med en progress bar istedet så? Og i så faldt hvordan?
Bare så brugeren ikke tror den et gået ned når den skal loade i det mindste..
Avatar billede vivaa.dk Nybegynder
04. marts 2008 - 09:22 #9
Fandt aldrig en løsning, men fik det hele sat op i user controls istedet, hvilket hjalp ret meget.
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