An issue causing the error when you did the Chart[i].Series[i].Points.Clear() is most likely caused by using the same iterator for Chart and Series. This would only ever work if you had the same number of each Chart and Series.
Also the loop posted only clears points, have you debugged through to ensure it is getting inside the loop?
So while looping through the tabs as I'm assuming the loop you provided does, you will need 2 additional for/foreach loops.
Your loop will iterate each Chart control found.
Then one loop will iterate each ChartArea within the Chart loop, and the second should iterate each Series within the ChartArea loop.
foreach (Chart x in this.Controls.OfType(Chart)) {
foreach (ChartArea area in x.ChartAreas) {
foreach (Series series in area.Series){
area.series.Points.Clear();
}
}
}
You should add to ensure that the ChartAreas and Series collections are not null!