Bonjour à tous,

Je suis actuellement en train de développer un contrôle utilisateur qui nécessite l'utilisation des méthodes Math.Cos() et Math.Sin().

Mon problème intervient lorsque je test mon contrôle dans une fenêtre Winform, au moment où je le place, un message apparaît (à la place du contrôle) m'indiquant une erreur de dépassement. Après un peu de bidouille j'ai réussi à trouver d'où venait cette erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
private void pictBox_Paint(object sender, PaintEventArgs e) {
 
            Graphics g = e.Graphics;
            double angle, angle0;
 
            angle0 = -5*Math.PI/4; 
            angle = angle0 + (3*Math.PI/2)*(cadence-cadenceMin)/(cadenceMax-cadenceMin);
 
            pointAguille.X = pointCentre.X + (Int32)(65*Math.Cos(angle));
            pointAguille.Y = pointCentre.Y + (Int32)(65*Math.Sin(angle));
            g.DrawLine(new Pen(Color.Red, 3), pointCentre, pointAguille); // ICI CA PLANTE
 
            labelCadence.Rtf = @"{\rtf Cadence = {\b " + cadence + "} cps/min}";
}
Ce sont en fait les valeurs de pointAguille.X et Y qui provoquent le dépassement dans DrawLine mais je n'arrive pas à comprendre pourquoi ils atteignent des valeurs aussi grandes ...

Merci d'avance pour votre aide !