Avatar billede newbieatphp Nybegynder
08. juli 2010 - 00:17 Der er 7 kommentarer og
1 løsning

Skifte udseene

Hey

Jeg hygger mig lidt med at lave min egen spillemaskine - i første omgang er det en kopi af en oprindelig - når den virker, så skal jeg videre med min egen.

Jeg bruger Visual Studio Team System 2008.

Det jeg gerne vil, er at have et vindue, hvor jeg i toppen har et display med hvad man kan finde ved 3 ens osv., mens jeg i bunden har hjullene til at køre.

Mit problem er så, hvordan gør jeg sådan, at toppen kan skiftes ud, når jeg vinder et spil på den.... Så skal den vise en anden baggrund og med andre knapper tilgængelig.


Jeg tænkte på:
- at lave en Form (hovedvinduet).
- at lave en Panel i toppen af Form'en, hvor spillene bliver vist i
- at lave forskellige UserControls - et til hver spiltype.

Kommentar udbedes, og hvordan får jeg den til at skifte UserControl i Panel'et?
Avatar billede lasserasch Juniormester
08. juli 2010 - 17:12 #1
Hvis du har en reference til det panel hvori dit usercontrol ligger, og dit usercontrol er det eneste som ligger i dit panel eller ligger på position 0, så kan du jo skifte dem sådan her:

panel1.Controls.Remove(panel1.Controls[0]);
panel1.Controls.Add(new UserControl());


Hvis der ligger mere i dit panel kan du jo evt. gøre sådan her:


            UserControl newctrl = new UserControl();
            foreach (Control ctrl in panel1.Controls)
            {
                if (ctrl.GetType() == typeof(UserControl))
                {
                    panel1.Controls.Remove(ctrl);
                    panel1.Controls.Add(newctrl);
                }
            }

Mvh.
Lasse
Avatar billede newbieatphp Nybegynder
09. juli 2010 - 15:18 #2
Tak for det ... ser ud til at virker perfekt.

I mit forsøg på at teste det, der gik der dog noget galt. I første forsøg virkede det fint, derefter når jeg prøver at starte det op med debug (F5), så kommer min Form ikke frem, så jeg kan intet gøre.

Hvad er der gået galt, og hvordan kan jeg få det frem igen?

Ps. smider du et svar Lasse, så får du nogle point. :-)
Avatar billede lasserasch Juniormester
09. juli 2010 - 15:32 #3
Ok. Hermed svar.

Mht. at din form ikke kommer frem, så ville jeg tjekke om der kører noget kode på hovedformen som looper uendeligt. Det ville gøre at formen ikke kom frem, såfremt koden kører før formen bliver tegnet.

Men hvis du ikke har ændret noget fra da det virkede til det pludselig ikke virkede mere, så ville jeg bare forsøge at genstarte VS og evt. hele maskinen og se om det ikke hjælper.

Mvh.
Lasse
Avatar billede newbieatphp Nybegynder
09. juli 2010 - 15:39 #4
Jeg har både prøvet at genstarte VS og PC - intet af det hjalp.

Jeg har prøvet at lave en step into (F11), hvor jeg tager et skridt af gangen for at se om den stopper nogen steder i kode - men den kører koden som den skal, blot viser den ikke min Form frem.
Avatar billede newbieatphp Nybegynder
09. juli 2010 - 16:08 #5
Jeg har prøvet at starte et af mine tidligere projekter op for at se om den ville vise mit start Form derfra ... det gør den uden problem.

Forstår ikke lige hvad der er gået galt :~|
Avatar billede newbieatphp Nybegynder
09. juli 2010 - 16:48 #6
Har fundet problemet ... en while løkken der ikke helt var korrekt :)
Avatar billede lasserasch Juniormester
09. juli 2010 - 17:03 #7
Har du mulighed for at pakke koden og sende den til mig på mail@r-coding.dk ? Så vil jeg gerne prøve at se på den for dig.

Mvh.
Lasse
Avatar billede newbieatphp Nybegynder
09. juli 2010 - 21:28 #8
Det er iorden nu og virker perfekt ... ellers tak :)
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