void EndMonitorSheet(IFloatingObjectSheet worksheet, ISheetCellRangeMonitorSupport sheetCellRangeSupporter) { if ((worksheet != null) && this._cachedChangedRanges.ContainsKey(worksheet)) { List <ISheetCellRangeMonitorSupport> list = this._cachedChangedRanges[worksheet]; list.Remove(sheetCellRangeSupporter); if (list.Count == 0) { this._cachedChangedRanges.Remove(worksheet); worksheet.CellChanged -= new EventHandler <CellChangedEventArgs>(this.Sheet_CellChanged); } } }
void StartMonitorSheet(IFloatingObjectSheet worksheet, ISheetCellRangeMonitorSupport sheetCellRangeSupporter) { if ((worksheet != null) && !Enumerable.Contains <IFloatingObjectSheet>((IEnumerable <IFloatingObjectSheet>) this._cachedChangedRanges.Keys, worksheet)) { worksheet.CellChanged += new EventHandler <CellChangedEventArgs>(this.Sheet_CellChanged); List <ISheetCellRangeMonitorSupport> list = new List <ISheetCellRangeMonitorSupport>(); this._cachedChangedRanges.Add(worksheet, list); } if (this._cachedChangedRanges.ContainsKey(worksheet)) { this._cachedChangedRanges[worksheet].Add(sheetCellRangeSupporter); } }
public void EndMonitor(ISheetCellRangeMonitorSupport sheetRangeSupporter) { SheetCellRange[] monitoringRanges = sheetRangeSupporter.GetMonitoringRanges(); if ((monitoringRanges != null) && (monitoringRanges.Length != 0)) { foreach (SheetCellRange range in monitoringRanges) { if (range != null) { this.EndMonitorSheet(range.Sheet, sheetRangeSupporter); } } sheetRangeSupporter.MonitoringRangesChanged -= new EventHandler <MonitoringRangesChangedEventArgs>(this.RangeChanged); } }