private bool InternalRemove(RangeRegion pRange)
{
pRange = Intersect(pRange);
if (pRange.IsEmpty())
return true; //il range non è presente
pRange.m_bValidated = true;
RangeRegionCancelEventArgs e = new RangeRegionCancelEventArgs(pRange);
OnRemovingRange(e); //calling this method the range can change
if (e.Cancel)
return false;
if (pRange.m_bValidated == false)
{
pRange = Intersect(pRange);
if (pRange.IsEmpty())
return true; //il range non è presente
}
m_RangeCollection = Exclude(pRange).m_RangeCollection;
OnRemovedRange(e);
m_bValidated = false;
return true;
}