Hej Hej <Du har förmodligen mycket händelse kod i Form Load Igen Använder du form.refresh eller label.refresh??? Hej Detta problem uppkommer när man har en funktion som gör något som tar upp hela trådens process (vilket gör att ingeting ritas om mer än det som du säger att den ska rita om).. ok jag löste det: tack!formulär som inte ritar ut sig korrekt?!?
har ett litet problem. Har ett program med ett formulär som visar en progressbar medan programmet gör lite grejer. Programmet har bara detta formulär. Saken är den att själv formuläret inte vill rita ut sig rätt. Progressbaren syns men bakgrunden till formuläret blir helt vitt och labels syns inte. Om man stegar sig igenom programmet funkar allt givetvis som det ska men hur får jag formuläret att verkligen visa sig på ett korrekt sätt?
finns det nåt sätt att kolla att formuläret är korrekt laddat typ isLoaded eller nåt liknande?
Nån som har en vettig idé?
/JohanSv: formulär som inte ritar ut sig korrekt?!?
Jag spånar lite på de knappa upplyssningar du beskriver.
Du har förmodligen mycket händelse kod i Form Load
Flytta över det mesta till Form Activate
Lägg in ett Me.Show tidigt i Form Load
Eventuellt ett DoEvents direkt efter Me.Show
Om du tex har en loop i Form Load så får ju inte de
andra händelserna en chans förrän loopen och allt annat
är klart. Tex ProgressBaren skall du absolut lägga i Activate.
tror
SvenSv: formulär som inte ritar ut sig korrekt?!?
Ja, eftersom jag inte förväntar mig någon input från användaren utan programmet utför en massa grejer och medan den gör det så vill jag ju visa att programmet faktiskt är igång. Testade att lägga allt i en main sub och ladda formuläret därifrån men det verkar inte som om VB väntar på att formuläret skall ladda klart.
<Flytta över det mesta till Form Activate
Hjälpte tyvärr inte...det enda jag gör är ju att kalla på en function som sätter igång en serie av händelser. Dessa händelser bör ju göras efter att gränssnittet laddats klart och inte medan det laddas...
skall man behöva simulera nån musklickning eller nåt? För att få formuläret att ladda klart....tycker att det är grymt skumt.
JohanSv: formulär som inte ritar ut sig korrekt?!?
Hjälpte tyvärr inte...det enda jag gör är ju att kalla på en function som sätter igång en serie av händelser. Dessa händelser bör ju göras efter att gränssnittet laddats klart och inte medan det laddas...
Dessa händelser får du inte anropa i Form Load
Lägg in ett DoEvents före anropet
Lägg in Me.Show i Form Load
DSSv: formulär som inte ritar ut sig korrekt?!?
Gör man inte det kan det hända att programmet kör alla andra
processer och ignorerar att den ska uppdatera det formulär som
progressbaren finns i och det runt omkring.
//EmmaSv: formulär som inte ritar ut sig korrekt?!?
Ett annat trix som jag tagit till några gånger är
En Timer Enabled = False Interval = 2000 2 sek
Sist i Form Load gör du Timer Enabled = True
Denna Timer kallar på din Function
Timern stänger sig själv vid första körning.Timer Enabled = False
DS Sv: formulär som inte ritar ut sig korrekt?!?
Det ända sätt som du kan göra så att den ritar om sig själv är att i din kod (där du har en loop som gör något) lägga till kommandot DoEvents..
Skriv in DoEvents först i loopen eller så, den kommer inte ändra något i vad ditt program gör, men den kommer att göra dom små sakerna precis där som behövs för att din användare tex ska kunna se hela formuläret och troligtivs kunna flytta det om man så vill!
MVH
//JonasSv: formulär som inte ritar ut sig korrekt?!?
Första gången la jag in doEvents i form load...då hände lite skumma saker. Nu la jag det i form activate innan jag anropar allt skräp och det verkar ha löst det...
tack igen
Johan