Just use the loopState that can be provided.
Parallel.ForEach(ColorIndex.AsEnumerable(),
new Action((Element, loopState) => {
if (Element.StartIndex <= I && Element.StartIndex + Element.Length >= I) {
loopState.Stop();
}
}));
Look at this MSDN article for an example.