У меня есть контроль MSChart в Panel в моей форме. На панели свойство AutoScroll установлено в значение True. Как только график становится слишком большим - пользователь может прокрутить его.
Как только пользователь нажимает Ctrl + MouseWheel, я включаю увеличение / уменьшение масштаба в области графика. В настоящее время на MouseWheel - и Panel, и Chart прокручиваются. Как отключить полосы прокрутки Panel в то время, когда Chart обрабатывает события прокрутки?
После отключения свойства AutoScroll Panel перемещает прокрутку вверх и скрывает вертикальную полосу прокрутки - так что это не то, что мне нужно:
void Chart_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control == true)
{
(Parent as Panel).AutoScroll = false;
}
}
void Chart_KeyUp(object sender, KeyEventArgs e)
{
if (e.Control == false)
{
(Parent as Panel).AutoScroll = true;
}
}
Я бы хотел, чтобы панель прокрутки панели «зависала» при масштабировании диаграммы (ctrl + колесико мыши) и активировалась, когда диаграмма простаивает (колесико мыши). Есть идеи?