J'ai pris l'exemple des échantillons sur le site Web de microsfot. L'exemple est le temps réel Date & Temps pour C#. L'exemple fonctionne parfaitement lorsque vous utilisez une courte distance et que vous l'exécutez exactement comme il est, mais je dois être capable de surveiller mon graphique pendant au moins 45min-1 heure et seulement ensuite les valeurs commencent à tomber. Ce que je voudrais faire est d'avoir environ 5min de temps de visionnage et le reste du graphique tracé, je voudrais pouvoir revenir en arrière. Donc, ci-dessous est la zone qui est le problème. J'ai besoin d'ajouter la vue d'échelle pour régler le montant que je peux voir sur le graphique avant qu'il ne défile (ce qui ne marche pas aussi bien), mais au moment où je fais la vue d'échelle ci-dessus 1 aucune des étiquettes de valeur X-Axis et si oui, alors seulement 1 d'entre eux sont et pas plus. Le code est un peu brouillon car cela a été très frustrant. Quelqu'un peut-il m'aider ou me guider vers un meilleur tableau, car le support et la documentation de ce tableau est terrible.MS Chart Scaleview & Threading
private void startTrending_Click(object sender, EventArgs e)
{
// Disable all controls on the form
startTrending.Enabled = false;
// and only Enable the Stop button
stopTrending.Enabled = true;
// Predefine the viewing area of the chart
minValue = DateTime.Now;
maxValue = minValue.AddMinutes(120);
chart1.ChartAreas[0].AxisX.Minimum = minValue.ToOADate();
chart1.ChartAreas[0].AxisX.Maximum = maxValue.ToOADate();
// Reset number of series in the chart.
chart1.Series.Clear();
// create a line chart series
Series newSeries = new Series("Series1");
newSeries.ChartType = SeriesChartType.Line;
newSeries.BorderWidth = 2;
newSeries.Color = Color.OrangeRed;
newSeries.XValueType = ChartValueType.Time;
chart1.Series.Add(newSeries);
/*chart1.ChartAreas[0].AxisX.LabelStyle.Format = "hh:mm";
chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Minutes;
chart1.ChartAreas[0].AxisX.Interval = 1;
chart1.ChartAreas[0].AxisX.MajorGrid.Interval = 1;
chart1.ChartAreas[0].AxisX.MajorTickMark.Interval = 0.5;
chart1.ChartAreas[0].AxisX. */
chart1.ChartAreas[0].AxisX.ScrollBar.Enabled = true;
chart1.ChartAreas[0].AxisX.ScaleView.SizeType = DateTimeIntervalType.Minutes;
chart1.ChartAreas[0].AxisX.ScaleView.Size = 1;
chart1.ChartAreas[0].CursorX.Interval = 0;
// start worker threads.
if (addDataRunner.IsAlive == true)
{
addDataRunner.Resume();
}
else
{
addDataRunner.Start();
}
}