Originariamente inviato da Annasila7
si si parliamo di windows form

quello che faccio è che nella funzione associata al timer aggiorno la posizione dell'oggetto con oggetto.updateposition().
in updateposition faccio

posi= new Point(pos.X, pos.Y+30)

per far scendere il pezzo.

nella funzione Paint, che mi permette di disegnare l'oggetto, invece( che richiamo nell'override di OnPaint della form) faccio

RotateTrasform(90); // per ruotae di 90°
TranslateTrasform(this.location.x ,this.location.y)
non posso dirlo con certezza, ma continua a pensare che tu ruoti TUTTO l'oggetto grafico.

secondo me fai prima a ridisegnare il rettangolo invertendo h e w