Custom Startmenu

Tags:    .net

Hey guys! Har prøvet at lave følgende kode til som skal åbne og lukke en form når der bliver trykket på knappen, indtil videre åbner den bare hele tiden flere former, men der må kun være én aktiv form, og trykkes der på knappen igen, skal formen lukkes, nogle der kan assistere med det? :)


Fold kodeboks ind/udKode 




8 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Og så skulle der lige have været en kommentar med på vejen. Ovenstående kode opretter en ny instans af StartMenu klassen, når der ikke findes en i forvejen i startMenu variablen. Findes der derimod en forvejen, bliver den frigjort (og forsvinder) og næste gang, vil der så igen blive oprettet en ny instans.

Alternativt, og muligvis en bedre løsning, alt efter situationen er kun at have én instans af StartMenu, og så i stedet bare fremvise den / skjule den, når der bliver trykket på knappen:

Fold kodeboks ind/udCSharp kode 


Håber du kan bruge det.



For mig ser det ud til at du laver en ny StartMenu hver gang knappen bliver aktiveret. Prøv dette hvor startMenu først bliver lavet hvis on>off:

Fold kodeboks ind/udKode 




Og lad os så lige benytte os af booleanske værdier :D

Fold kodeboks ind/udCSharp kode 




Hverken den ene eller anden virker. :)

Boolean virker kun hvis jeg tilføjer
startMenu = new StartMenu(); efter

bool isOpen = false;
StartMenu startMenu;

Og hvis jeg gør det, så åbner den en ny form hver gang jeg trykker på knappen. :)

og IF arguementet virker desværre heller ikke. :)



Har fundet et stykke kode som virker til den første halvdel, når min form er oppe, så åbner den kun ét vindue ad gange, men den lukker det til gengæld aldrig igen . :)

Fold kodeboks ind/udKode 




Fold kodeboks ind/udCSharp kode 





Indlæg senest redigeret d. 13.08.2009 16:40 af Bruger #2416
Og så skulle der lige have været en kommentar med på vejen. Ovenstående kode opretter en ny instans af StartMenu klassen, når der ikke findes en i forvejen i startMenu variablen. Findes der derimod en forvejen, bliver den frigjort (og forsvinder) og næste gang, vil der så igen blive oprettet en ny instans.

Alternativt, og muligvis en bedre løsning, alt efter situationen er kun at have én instans af StartMenu, og så i stedet bare fremvise den / skjule den, når der bliver trykket på knappen:

Fold kodeboks ind/udCSharp kode 


Håber du kan bruge det.



Dette fungerer faktisk udemærket for mit foremål. :) Så jeg takker mange gange!! :)
Forresten, hvordan uddeler jeg disse point som du så vel da har fortjent ? :)

Ps. Ved du hvordan man også får StartMenu til at lukke når den mister focus ? ^^



Indlæg senest redigeret d. 13.08.2009 20:00 af Bruger #15041
Hvis du i StartMenu'en laver en event handler til "Deactivate" eventen, og i den kalder Hide() - så skulle den gerne forsvinde.

Kan faktisk ikke huske præcis hvordan man giver point her - men går ud fra der er en oversigt et sted, hvor du kan dele pointene mellem dem der har lagt brugbare svar.



t