private void SetMappedItem(string itemID) { if (m_MappedItem == itemID) { return; } GraphObjList.Clear(); CurveItem item = GetCurve(m_MappedItem); if (item != null) { item.IsVisible = true; } m_MappedItem = itemID; item = CurveList[itemID]; if (item != null) { item.IsVisible = false; List <GraphObj> objects = new List <GraphObj>(); for (int index = 0; index < item.Points.Count; index++) { PointPair point = item[index]; LineObj line = new LineObj(Color.Gray, point.X, 0, point.X, 1); line.Tag = point.Y; line.Location.CoordinateFrame = CoordType.XScaleYChartFraction; line.ZOrder = ZOrder.E_BehindCurves; TextObj text = new TextObj(point.Y.ToString(), point.X, 1); text.Location.CoordinateFrame = CoordType.XScaleYChartFraction; text.IsClippedToChartRect = false; text.FontSpec.Border.IsVisible = false; text.Location.AlignV = AlignV.Bottom; text.Location.AlignH = AlignH.Right; text.FontSpec.Angle = -90; text.FontSpec.Fill.IsVisible = false; objects.Add(line); objects.Add(text); } GraphObjList.AddRange(objects); } m_HasChanged = true; m_Parent.UpdateGraph(); }