19. oktober 2011 - 16:48Der er
11 kommentarer og 1 løsning
VB.Net Fullscreen form oven på startmenuen i Windows 7
Jeg har et program med en form der kører fullscreen uden border, dvs. fylder hele skærmen.
Mit problem er at startmenuen ligger sig oven på programmet få sekunder efter load.
Hvis jeg derefter klikker på formen et par gange kommer den "op til overfladen" og dækker startmenuen igen.
Det er ikke smart, for mit program skal gerne køre fuldautomatisk, og ikke kræve at jeg manuelt klikker på det for at få det til at dække startmenuen.
Min form er sat til at være topmost, og jeg kører en BringToFront() onload.
Jeg har også prøvet at køre en Activate() på formen 5 sekunder efter load, det har ikke løst problemet.
Hvis jeg sætter en timer til at køre en BringToFront hvert sekund, er den topmost, det er dog ikke en løsning jeg kan bruge, da jeg indimellem viser andre forms, der via BringToFront vises oven på min main-form - hvis jeg så efterfølgende kører flere BringToFront på min main-form, så ville den jo dække disse forms.
Du skriver du har held med at få den på toppen, hvis du bruger en timer - kan du ikke evt. bruge en timer som kører det første minut og derefter stopper?
eller inden for det minut skal du også have en anden form frem?
I visse situationer vises de andre forms inden for 5 sekunder, og dermed risikerer de at blive gemt bag min main-form hvis den bliver trukket op hele tiden :-/
Men ville man så kunne smide i funktionen, at den ligesom prøver at BringtoFront med alle de forms som kunne være åbne - og så sørge for at main formen bliver sat til at starte med - så ville alle de næste jo stadig være over main formen.
I mellem tiden har jeg lavet noget med nogle timere, der i løbet af de første 10 sekunder får mine "lag" af forms til at placere sig i den korrekte rækkefølge over startmenuen, ved en kombination af følgende fire metoder:
Rækkefølgen kan stadig ødelægges ved at alt-tab'e eller åbne startmenuen manuelt, men det er egentligt ikke så vigtigt, eftersom det er meningen at programmet skal startes ved logon på en computer uden tilsluttet skærm eller tastatur - så hvis nogen nogensinde piller ved det, er det mig via fjernbetjening - og så kan jeg selv sørge for at det ser fint ud inden jeg forlader den.
Jeg ved godt det er et kompromis, men nogle gange vinder tidspresset :-/
lol faktisk ikke en dårlig idé, hvis jeg ikke allerede fundet en anden måde :-)
(men måske også lidt drastisk hehe)
Synes godt om
Ny brugerNybegynder
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.