Re Sinus

CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009 - 21 oct. 2007 à 11:25
CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009 - 24 oct. 2007 à 10:20
Je suis désolé de vous redéranger mais je bloque toujours sur la gestion du tracé d'un sinus sur une fenetre.En effet, j'arrive a tracer cette fonction mais helas je suis incapable de gérer la courbe c'est-à-dire que je souhaiterais agrandir ma fenêtre tout en agrandissant la courbe .

VOici le code tapé pour le tracé 

Dans les événements de Panel1, recherche celui qui s'appelle Paint (normalement, en double-cliquant sur le Panel dans le concepteur, Visual Studio devrait te créer automatiquement l'événement et te placer dans le code).
- Une fois l'événement créé, tapes le code suivant :
private void Panel1_Paint(object sender, PaintEventArgs e)
{

            e.Graphics.Clear(System.Drawing.Color.White);

            // Lorsque le sinus vaut 0, la ligne se trouve à la mi-hauteur du panel (d'où "panel1.Height / 2")
            // Le calcul "i / panel1.Width" permet juste de normaliser la valeur pour l'avoir toujours entre 0 et 1
            // La multiplication par Math.PI * 3 permet d'obtenir un angle qui varie entre 0 et 3pi
            for (int i = 1; i < panel1.Width; i++)
            {
               
                e.Graphics.DrawLine(
                        System.Drawing.Pens.Blue,
                        i - 1,
                        (int)(Math.Sin(((double)i - 1) / panel1.Width * Math.PI * 3) * panel1.Height / 2) + panel1.Height / 2,
                        i,
                        (int)(Math.Sin((double)i / panel1.Width * Math.PI * 3) * panel1.Height / 2) + panel1.Height / 2);
            }
}

Voila si quelqu'un pouvait m'aider à gerer le probleme de la fenetre .Merci d'avance a tous.

6 réponses

bidou_01 Messages postés 134 Date d'inscription dimanche 1 octobre 2006 Statut Membre Dernière intervention 19 mai 2008 1
21 oct. 2007 à 12:42
Bonjour,

Essaye de surcharger la méthode OnResize de la classe Form ou OnResizeEnd.
Appel ta méthode panel1_Paint dans cette surcharge.

Cordialement,

Bidou_01
0
cs_niky Messages postés 168 Date d'inscription jeudi 28 juin 2001 Statut Membre Dernière intervention 18 octobre 2008 7
21 oct. 2007 à 18:13
Salut,

Utilises l'événement Resize et fait un appel à this.Invalidate.
0
CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009
21 oct. 2007 à 20:30
Je suis désolé niky et bidou mais je n'y arrive toujours pas.Ma fenetre ne se redimensionne toujours  pas.
0
cs_niky Messages postés 168 Date d'inscription jeudi 28 juin 2001 Statut Membre Dernière intervention 18 octobre 2008 7
21 oct. 2007 à 20:50
Quelques pistes de réflexion...

- As-tu mis la propriété FormBorderStyle de la fenêtre à Sizable ?
- Dans les événements de ton Panel1, tu cherches celui qui s'appelle Resize et tu tapes ce code dans la méthode Panel1_Resize qui s'est créée :
    this.Panel1.Invalidate();
- Tu mets la propriété Dock de Panel1 à Fill.

Est-ce mieux ? Pas mieux ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
22 oct. 2007 à 09:23
Rien à voir avec tout cela messieurs...
Lors du resize de la fenêtre, il faut appliquer un coefficient multiplicateur au tracé pour qu'il occupe toute la place disponible.

Maintenant, il faut nous en dire plus : tu veux que ça occupe la hauteur et/ou la largeur

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
CicinhoRaul Messages postés 221 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 16 janvier 2009
24 oct. 2007 à 10:20
Bah bonne nouvelle C ok !!! Lorsque j'agrandis ma fenetre mon sinus s'agrandit aussi. Un grand merci a Niky,bidou_01,et sebmafate pour votre aide!!!

Mais j'ai encore une question à vous poser(désolé comme je vous ai dit je suis ultra-débutant en C#) est-il possible sur le dessin de dessiner les axes tout en y mettant des valeurs du genre le point 0  la valeur Pi...
0
Rejoignez-nous