/// <summary>Добавление значения в заданный график.</summary> /// <param name="val">Значение.</param> /// <param name="seriesIndex">Номер графика.</param> /// <param name="normalize">Нормировать значение.</param> public void AddValue(MonitorValue val, int seriesIndex, bool normalize = true) { if (seriesIndex < 0 || seriesIndex > chart.Series.Count - 1) { return; } val.Name = chart.Series[seriesIndex].Name; //Добавление точки на график var index = chart.Series[seriesIndex].Points.AddXY( val.TimeStamp.ToOADate(), val.Value); //В свойство Tag записываем пришедшее значение. chart.Series[seriesIndex].Points[index].Tag = val; //Удаление точек позже 10 минут var firstValue = DateTime.FromOADate(chart.Series[seriesIndex].Points[0].XValue); while ((val.TimeStamp - firstValue).TotalMinutes > MAX_MINUTES_DISPLAY) { chart.Series[seriesIndex].Points.RemoveAt(0); firstValue = DateTime.FromOADate(chart.Series[seriesIndex].Points[0].XValue); } _area.AxisX.ScaleView.MinSize = _range; _area.AxisX.ScaleView.Zoom(val.TimeStamp.AddSeconds(0.5).ToOADate(), _range); }
public void AddValue(MonitorValue val, string name) { var index = chart.Series.IndexOf(name); if (index == -1) { return; } AddValue(val, index, false); }
/// <summary> /// Передача объекта с информацией в форму /// </summary> /// <param name="val">Значение</param> /// <param name="title">Заголовок</param> public void SetInfo(MonitorValue val, string title) { selInfoGrid.SelectedObject = val; Text = title; WindowState = FormWindowState.Normal; }
public SelPointInfoForm(MonitorValue val, string title) : this() { SetInfo(val, title); }