Avatar billede rmjdk Nybegynder
13. august 2009 - 15:55 Der er 2 kommentarer og
1 løsning

WinForms Graphics

Hejsa

Er igang med MS cert 70.536 og er nået til Graphics afsnittet (gah!). Uanset hvad jeg gør kan jeg simpelthen ikke få skidtet til at tegne noget som helst, jeg prøver de mest basale ting - at tegne en streg med Graphics.DrawLine() men der sker intet! Jeg prøver følgende kode (som iøvrigt er snuppet fra bogen):

        private void Form1_Load(object sender, EventArgs e)        {
            Graphics gfx = this.CreateGraphics();
           
            Pen pen = new Pen(Color.Red, 10f);

            gfx.DrawLine(pen, new Point(1, 1), new Point(20, 20));
        }

Jeg har ligeledes prøvet med gfx.Flush(); til sidst - stadig uden held. Jeg er sikker på det er en lille dum ting der driller.

På forhånd tak!
Avatar billede rmjdk Nybegynder
13. august 2009 - 15:58 #1
Godt, så fandt jeg svaret. Man må ikke tegne i Load();
Avatar billede aaberg Nybegynder
13. august 2009 - 19:07 #2
Et par ting som er meget vigtigt.

Hvis du opretter dit Graphics object med this.CreateGraphics() metoden, skal du huske at kalde Dispose() når du er færdig med at bruge den. Ellers risikere du memoryleaks.

Men normalt set er det ikke nødvendig at bruge CreateGraphics() metoden. Skal du tegne på en Form, eller hvilken som helst kontrol, skal du nedarve fra kontrollen, og override OnPaint. OnPaint får et PaintEventArgs objekt med som parameter. Denne har en property som hedder Graphics som indeholder et Graphics objekt. Denne skal du ikke dispose.
Avatar billede aaberg Nybegynder
13. august 2009 - 19:08 #3
Når du tegner på formen i OnPaint metoden, vil formen automatisk blive gentegnet når den har været minimeret eller lignende.
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