Exemple #1
0
        private void CalcScrolling()
        {
            if (sbVert != null && autoScroll)
            {
                bool vis = sbVert.Visible;
                sbVert.Visible = ClientArea.VirtualHeight > ClientArea.ClientHeight;
                if (ClientArea.VirtualHeight <= ClientArea.ClientHeight)
                {
                    sbVert.Value = 0;
                }

                if (vis != sbVert.Visible)
                {
                    if (!sbVert.Visible)
                    {
                        foreach (Control c in ClientArea.Controls)
                        {
                            c.TopModifier = 0;
                            c.Invalidate();
                        }
                    }
                    AdjustMargins();
                }

                PositionScrollBars();
                foreach (Control c in ClientArea.Controls)
                {
                    c.TopModifier = -sbVert.Value;
                    c.Invalidate();
                }
            }

            if (sbHorz != null && autoScroll)
            {
                bool vis = sbHorz.Visible;
                sbHorz.Visible = ClientArea.VirtualWidth > ClientArea.ClientWidth;
                if (ClientArea.VirtualWidth <= ClientArea.ClientWidth)
                {
                    sbHorz.Value = 0;
                }

                if (vis != sbHorz.Visible)
                {
                    if (!sbHorz.Visible)
                    {
                        foreach (Control c in ClientArea.Controls)
                        {
                            c.LeftModifier = 0;
                            sbVert.Refresh();
                            c.Invalidate();
                        }
                    }
                    AdjustMargins();
                }

                PositionScrollBars();
                foreach (Control c in ClientArea.Controls)
                {
                    c.LeftModifier = -sbHorz.Value;
                    sbHorz.Refresh();
                    c.Invalidate();
                }
            }
        }