WinForms临时禁用面板中的垂直滚动条

时间:2012-01-13 08:55:12

标签: c# winforms scrollbar panel mschart

我的Panel中有MSChart控件。 Panel的AutoScroll属性设置为True。一旦图表变得太大 - 用户就可以滚动它了。

一旦用户按下Ctrl + MouseWheel,我就可以放大/缩小图表区域。目前在MouseWheel上 - Panel和Chart都在滚动。如何在Chart处理滚动事件时禁用Panel滚动条?

禁用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;
    }
}

我希望Panel滚动条在图表缩放时“冻结”(ctrl + mousewheel),并在图表空闲时激活(鼠标滚轮)。有什么想法吗?

0 个答案:

没有答案