cs_niky
Messages postés168Date d'inscriptionjeudi 28 juin 2001StatutMembreDernière intervention18 octobre 20087 29 sept. 2007 à 22:45
Le sinus se redimensionne lorsque la taille de la fenêtre change :
quand la fenêtre est redimensionnée, l'événement Paint est appelé et comme le sinus dépendant de la largeur et de la hauteur du panel, celui-ci s'adaptera automatiquement.
Tu risques juste d'obtenir un petit problème lorsque le panel est agrandit : seul une partie du panel est redessiné. Pour éviter ce problème, tape la ligne suivante dans l'événement Resize du panel :
panel1.Invalidate();
Cette ligne force le panel à se redessiner entièrement.
Dernier désagrément que tu vas recontrer, c'est un scintillement de l'affichage pendant le redimensionnement. Si ça te pose vraiment un problème, regardes du côté du double buffering.
cs_niky
Messages postés168Date d'inscriptionjeudi 28 juin 2001StatutMembreDernière intervention18 octobre 20087 28 sept. 2007 à 18:53
Salut,
Pour tracer un sinus, c'est très simple :
- Sur une Form, ajoutes un Panel (nommé par défaut Panel1)
- 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 permet d'accéder à un objet qui va dessiner sur le panel
// Efface le contenu du panel en mettant la couleur blanche
e.Graphics.Clear(System.Drawing.Color.White);
// Affiche une sinusoïde de couleur bleue
// Le sinus est affiché en balayant une ligne qui fait la largeur du panel
// 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++)
{
CicinhoRaul
Messages postés221Date d'inscriptionlundi 18 juin 2007StatutMembreDernière intervention16 janvier 2009 10 oct. 2007 à 13:45
Ok niky(excuse moi pour la reponse tardive) mais par contre je n'arrive toujours pas à gérer la taille de la fenetre avec le sinus ,je n'arrive pas a appliquer(et j'en suis désolé) ce que tu m'as dit.
Le but est de tracer le sinus sur toute une grande fenetre