Этот вопрос томился без ответа на форуме MSChart больше года.
Я постоянно получаю исключение переполнения на графике. Я настраиваю свой график следующим образом:
InstrChart.Legends.Clear(); dataArea = InstrChart.ChartAreas.Add("Instr1"); dataArea.AxisX.MajorGrid.Enabled = false; dataArea.AxisY.MajorGrid.Enabled = false; dataArea.CursorX.IsUserSelectionEnabled = true;
Затем я добавляю 12 серий примерно по 10000 очков в каждой.
Исключение возникает, когда я уменьшаю масштаб, чтобы показать только 3 или 4 точки на серию. Сразу после того, как я отпущу кнопку мыши для увеличения, я получаю следующее исключение:
System.OverflowException was caught Message="Overflow error." Source="System.Drawing" StackTrace: at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
(и т. д. - см. ссылку выше для полной трассировки.)
Я удалил все обработчики событий для диаграммы, и мне не удалось остановить масштабирование из eventuall, вызывающего это исключение. Я установил для IsUserSelectionEnabled значение false для диаграммы и безуспешно выполнял масштабирование из кода.
Любая помощь по этому вопросу была бы замечательной. Ваше здоровье.
Это исключение возникает каждый раз, когда вы «слишком далеко» уменьшаете масштаб (значение которого может различаться), независимо от того, как настроена остальная часть диаграммы. Несколько человек сообщили об этой проблеме. Помощник по исключению указывает, что он находится в System.Drawing.dll.
У кого-нибудь есть какие-нибудь подсказки или обходные пути?