Avatar billede coder Nybegynder
10. juni 2006 - 20:31 Der er 2 kommentarer og
1 løsning

"Smooth" resize af form

Hej!

Vil lave en form der udvides når jeg trykker på en knap. Lad os sige formen er 50px høj før der trykkes, så skal den hurtigt og flydende udvide sig til f.eks. 400px.
Altså den skal udvide sig lidt af gangen - f.eks. 10 px/sek - flydende.

Se f.eks. http://www.google.dk/ig (tryk tilføj indhold i øverste venstre hjørne - så får du idéen).

Har leget lidt selv med at gøre det ved brug af en timer, så den for hvert timer_tick bliver x pixel større. Men det ser ikke perfekt ud... vil gerne have input til hvorledes det ellers kunne gøres.

Tak!
Avatar billede nielle Nybegynder
11. juni 2006 - 08:01 #1
Måske noget i denne stil?

        private void button1_Click(object sender, EventArgs e)
        {
            int newHeight = 400;
            this.backgroundWorker1.RunWorkerAsync(newHeight);
        }

        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            int newHeight = (int)e.Argument;
            while (this.Height < newHeight)
            {
                this.Height += 5;
                System.Threading.Thread.Sleep(2);
            }
        }
Avatar billede coder Nybegynder
13. juni 2006 - 19:57 #2
tak for svaret... har stykket noget sammen med tråde og sleep - kører ok... så hvis du smider et svar.
Avatar billede nielle Nybegynder
13. juni 2006 - 20:03 #3
Svar :^)
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