IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Problème actualisation d'un graph avec ZedGraph [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Par défaut Problème actualisation d'un graph avec ZedGraph
    Bonjour à tous!!

    Je suis en train de m'arracher les cheveux sur un problème qui me semblait relativement simple mais dont je n'arrive pas à trouver la solution!

    Mon application est très simple, je dispose de 2 checkbox et d'1 bouton, un checkbox permettant d'initialiser une fonction mathématique, l'autre checkbox initialisant une autre fonction mathématique et enfin le bouton permettant d'afficher mon choix sur la fenetre principale sous forme d'un graphe.

    J'utilise ZedGraph pour afficher le graph, j'arrive à l'afficher une première foismais lorsque je sélectionne l'autre checkbox pour changer de fonction maths, mon affichage ne s'actualise pas!!!.....

    Vous savez ce qu'il faut que je fasse???

  2. #2
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Un petit exemple de ce que tu fais avec un bout de code ou meme de pseudo-code aiderait à t'aider

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Par défaut
    Voici le code, il est vraiment très simple!!


    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using ZedGraph;
     
    namespace WindowsFormsApplication1
    {
     
        public partial class Form1 : Form
        {
            Int16 choix = 1;
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
     
            }
     
            private void checkBox1_CheckedChanged(object sender, EventArgs e)
            {
                if (checkBox1.Checked == true)
                {
                    choix = 1;
                    checkBox2.Checked = false;
                }
     
            }
     
            private void checkBox2_CheckedChanged(object sender, EventArgs e)
            {
                if (checkBox2.Checked == true)
                {
                    choix = 2;
                    checkBox1.Checked = false;
                }
            }
            private void Form1_Resize(object sender, EventArgs e)
            {
                SetSize();
            }
     
            // SetSize() is separate from Resize() so we can 
     
            // call it independently from the Form1_Load() method
     
            // This leaves a 10 px margin around the outside of the control
     
            // Customize this to fit your needs
     
            private void SetSize()
            {
                zedGraphControl1.Location = new Point(52, 132);
                // Leave a small margin around the outside of the control
     
                zedGraphControl1.Size = new Size(348, 317);
            }
     
            // Respond to form 'Load' event
     
            private void Form1_Load(object sender, EventArgs e)
            {
                // Setup the graph
     
                CreateGraph(zedGraphControl1, choix);
                // Size the control to fill the form with a margin
     
                SetSize();
            }
     
            // Build the Chart
     
            private void CreateGraph(ZedGraphControl zgc, Int16 choix_fonction)
            {
                // get a reference to the GraphPane
                if (choix_fonction == 1)
                {
                    GraphPane myPane = zgc.GraphPane;
     
                    // Set the Titles
     
                    myPane.Title.Text = "My Test Graph\n(For CodeProject Sample)";
                    myPane.XAxis.Title.Text = "My X Axis";
                    myPane.YAxis.Title.Text = "My Y Axis";
     
                    // Make up some data arrays based on the Sine function
     
                    double x, y1, y2;
                    PointPairList list1 = new PointPairList();
                    PointPairList list2 = new PointPairList();
                    for (int i = 0; i < 36; i++)
                    {
                        x = (double)i + 5;
                        y1 = 1.5 + Math.Sin((double)i * 0.2);
                        y2 = 3.0 * (1.5 + Math.Sin((double)i * 0.2));
                        list1.Add(x, y1);
                        list2.Add(x, y2);
                    }
     
                    // Generate a red curve with diamond
     
                    // symbols, and "Porsche" in the legend
     
                    LineItem myCurve = myPane.AddCurve("Porsche",
                          list1, Color.Red, SymbolType.Diamond);
     
                    // Generate a blue curve with circle
     
                    // symbols, and "Piper" in the legend
     
                    LineItem myCurve2 = myPane.AddCurve("Piper",
                          list2, Color.Blue, SymbolType.Circle);
     
                    // Tell ZedGraph to refigure the
     
                    // axes since the data have changed
     
                    zgc.AxisChange();
                }
                if (choix_fonction == 2)
                {
                    GraphPane myPane = zgc.GraphPane;
     
                    // Set the Titles
     
                    myPane.Title.Text = "My Test Graph\n(For CodeProject Sample)";
                    myPane.XAxis.Title.Text = "My X Axis";
                    myPane.YAxis.Title.Text = "My Y Axis";
     
                    // Make up some data arrays based on the Sine function
     
                    double x, y1, y2;
                    PointPairList list1 = new PointPairList();
                    PointPairList list2 = new PointPairList();
                    for (int i = 0; i < 36; i++)
                    {
                        x = (double)i + 5;
                        y1 = 1.5 + Math.Sin((double)i * 0.2);
                        y2 = 6.0 * (1.5 + Math.Sin((double)i * 0.2));
                        list1.Add(x, y1);
                        list2.Add(x, y2);
                    }
     
                    // Generate a red curve with diamond
     
                    // symbols, and "Porsche" in the legend
     
                    LineItem myCurve = myPane.AddCurve("Porsche",
                          list1, Color.Red, SymbolType.Diamond);
     
                    // Generate a blue curve with circle
     
                    // symbols, and "Piper" in the legend
     
                    LineItem myCurve2 = myPane.AddCurve("Piper",
                          list2, Color.Blue, SymbolType.Circle);
     
                    // Tell ZedGraph to refigure the
     
                    // axes since the data have changed
     
                    zgc.AxisChange();
                }
     
            }
     
     
        }
    }

  4. #4
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Un peu trop simple meme

    1- Tu pourrais remplacer tes checkbox par un radiobutton ca me semble plus approprié

    2- Je ne vois pas par quelle magie tu espere que tes checckbox agissent sur ton graph, tu ne fais que setter une variable choix et rien n'est mis en place pour appeller creategrah, ni l'appel d'une methode ni un accesseur sur choix

    Donc ca ne fait rien et c'est normal !

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Par défaut
    Justement, comment faire?? C'est ma question à l'origine!! Je commence à peine à programmer en C# et je n'ai jamais programmé en orienté objet...

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Par défaut
    en fait je pensais que la fonction 'Form1_Load' était appelé régulièrement pour actualiser l'affichage de la fenêtre...comment faire pour régler ce problème?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/08/2009, 16h21
  2. graph avec ZedGraph
    Par Redg9 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 25/02/2009, 15h11
  3. Probleme de creation de graph avec ZedGraph
    Par skunkies dans le forum Windows Forms
    Réponses: 4
    Dernier message: 05/01/2009, 20h53
  4. Problème de graphes avec VB.NET
    Par mehdiyou dans le forum VB.NET
    Réponses: 5
    Dernier message: 02/04/2008, 22h24
  5. Problème d'affichage des graphes avec Tomcat
    Par _Janu_ dans le forum BIRT
    Réponses: 11
    Dernier message: 20/09/2006, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo