Bonjour ,
Je code en C# maintenant depuis un an et je commence à développer des choses intéressantes. Je suis automaticien et j'ai comme projet de développer un système le plus complet possible avec un PC. Le PC me sert d'automate, de serveur base de données et de moyen de supervision. Pour l'instant je communique avec des base d'entrées/sorties déportés grâce à mes méthodes MODBUS, je peux enregistrer des évenement dans des bases de données, etc.... Pour l'instant je suis assez content de mon travail .
Une seule chose me pose problème: l'interface graphique.
j'ai un premier usercontrol qui contient un Datagridviwer , les valeurs des deux variables dans la premiére photo se renouvelle chaque 2 secondes via un timer, en méme temps je veux tracer ces deux variable dans un chart realtime qui existe dans un deuxiéme UserControl qui me prends le deux valeur à chaque passage du timer et les traces
mon code pour tracage des deux valeurs dans usercontrol
Code premier usercontrol là ou je récupére les valeurs des variables avec le timer
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 public void loadchartchart3() { for (int iplot = 0; iplot < this.chart2.Series.Count; iplot++) { if (this.chart2.Series[iplot].Points.Count > nbPointAffiches) { this.chart2.Series[iplot].Points.RemoveAt(0); } else // sinon on insere le suivant { // incrementation var TheDateTimeNow TheDateTimeNow = TheDateTimeNow.AddSeconds(30); // nouveau point Random r = new Random(); double pitch_Col2dr = r.Next(1, 45); double rosll_Col2r = r.Next(10, 1000); objsexdof2.FillMainTable(2); DataPoint newPt = new DataPoint(); newPt.XValue = TheDateTimeNow.ToOADate(); newPt.YValues[0] = pitch_Col2dr; this.chart2.Series[0].Points.Add(newPt); DataPoint newPt2 = new DataPoint(); newPt2.XValue = TheDateTimeNow.ToOADate(); newPt2.YValues[0] = rosll_Col2r; this.chart2.Series[1].Points.Add(newPt2); } } }
le problème c'est j'arrive pas à faire tourner les 2éme usercontrol en même temps avec le premier pour qu'il me trace au fur et au mesure les deux variables
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 private void timer1_Tick(object sender, EventArgs e) { . . objchart.loadchartchart3(); }
Partager