Oppure

Loading
14/12/10 0:17
sps84
Ciao a tutti, sto iniziando a fare qualche disegno sulla mia form, ora ho un rettangolo e riesco correttamente a ruoterlo su se stesso cambiando i parametri ad ogni compilazione :d. Ho aggiunto una trackBar con valore Max 360 (che sarebbero i gradi) e come angolo di rotazione ora passo il valore della trackBar, ovviamente compilando non ruota di niente perchè il valore iniziale è 0.

Domanda:
1) a questo link msdn.microsoft.com/en-us/library/… ho trovato un metodo per ridisegnare il rettangolo ma viene una schifezza praticamente usa il metodo "this.Invalidate(RcDraw);". Esiste un metodo piu' decente di continuare a ridisegnare l'area grafica in continuo?

int x = 800;
        int y = 800;
        private Rectangle rect = new Rectangle((800 / 2)- 50, (800/2) -50, 100, 100);

        private void Form1_Paint(object sender, PaintEventArgs e)
        {  
            Pen pen = new Pen(Color.Black, 1.0f);

            Point p = new Point((x / 2), (y / 2));//Centro del form
            //Disegno una croce per trovare il centro tipo assi cartesiani
            e.Graphics.DrawLine(pen, new Point(0, (y / 2)), new Point(x, (y / 2)));
            e.Graphics.DrawLine(pen, new Point((x/2),0), new Point((x/2),y));

            //Matrix per rotazione
            Matrix matrix = new Matrix();   
            float ang = trackBarAngle.Value;
            matrix.RotateAt(ang,p);     
            e.Graphics.Transform = matrix; 
            e.Graphics.DrawRectangle(pen, rect);

        }

        
        private void trackBarAngle_Scroll(object sender, EventArgs e)
        {
            labelAngle.Text = trackBarAngle.Value.ToString();
            this.Invalidate(rect);            
        }
aaa
14/12/10 11:44
dotNET
this.Refresh();
aaa
14/12/10 12:26
sps84
Postato originariamente da dotNET:

this.Refresh();


Chiedo scusa forse dopo le una di notte alcuni metodi non compaiono + :rofl::rofl::rofl:
aaa