예제 #1
0
파일: ChartArea.cs 프로젝트: sulerzh/chart
 protected virtual void OnDataPointDataPointSelectionChanging(DataPointSelectionChangingEventArgs e)
 {
     if (this.DataPointSelectionChanging == null)
         return;
     this.DataPointSelectionChanging((object)this, e);
 }
예제 #2
0
파일: ChartArea.cs 프로젝트: sulerzh/chart
 internal void FireDataPointSelectionChanging(DataPoint dataPoint, bool addToSelection)
 {
     if (!this.IsMouseSelectionEnabled || dataPoint != null && !Enumerable.Contains<Series>(this.GetSeries(), dataPoint.Series))
         return;
     this.SuspendSelectionChangedEvents();
     try
     {
         if (dataPoint == null)
         {
             DataPointSelectionChangingEventArgs e = new DataPointSelectionChangingEventArgs((IList<DataPoint>)Enumerable.ToList<DataPoint>(this.GetSelectedDataPoints()), (IList<DataPoint>)null);
             this.OnDataPointDataPointSelectionChanging(e);
             if (e.Cancel)
                 return;
             this.ClearSelectedDataPoints();
         }
         else
         {
             List<DataPoint> list1 = new List<DataPoint>();
             List<DataPoint> list2 = new List<DataPoint>();
             if (!dataPoint.IsSelected)
                 list2.Add(dataPoint);
             else if (addToSelection)
                 list1.Add(dataPoint);
             if (!addToSelection)
                 list1 = Enumerable.ToList<DataPoint>(Enumerable.Where<DataPoint>(this.GetSelectedDataPoints(), (Func<DataPoint, bool>)(p =>
                {
                    if (p == dataPoint)
                        return dataPoint.IsSelected;
                    return true;
                })));
             DataPointSelectionChangingEventArgs e = new DataPointSelectionChangingEventArgs((IList<DataPoint>)list1, (IList<DataPoint>)list2);
             this.OnDataPointDataPointSelectionChanging(e);
             if (e.Cancel)
                 return;
             list1.ForEach((Action<DataPoint>)(p => p.IsSelected = false));
             list2.ForEach((Action<DataPoint>)(p => p.IsSelected = true));
         }
     }
     finally
     {
         this.ReleaseSelectionChangedEvents();
     }
 }