Winform禁止容器内控件获得焦点时改变容器显示范围坐标

时间:2014-01-20 19:52:15   收藏:0   阅读:505

在Winform中当容器的可视高度无法显示所有控件并且容器的AutoScroll属性设置为True的情况下,但点击容器内某个未显示完整的控件时,会出现容器的滚动条自动下滚的情况。

这是由于控件获得焦点时,容器的ScrollToControl事件被ScrollableControl类自动触发,用于更好的显示焦点控件的内容。

我们可以通过重写ScrollToControl事件来处理。

以Panel为例子,重写Panel控件。

1
2
3
4
5
6
7
class PanelNoScrollOnFocus : Panel
{
    protected override System.Drawing.Point ScrollToControl(Control activeControl)
    {
        return DisplayRectangle.Location;
    }
}

  

原文:http://www.cnblogs.com/colder/p/3526991.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!