public ThemeablePropertyGrid()
        {
            _gridView  = Controls[2];
            _scrollBar = _gridView.Controls[0] as VScrollBar;
            _scrollBar.ValueChanged += _scrollBar_ValueChanged;

            // remove old scroll bar from the controls
            _gridView.Controls.Remove(_scrollBar);

            // gridView subscribed to its events, so we can't override and replace the scrollbar => use reflection.
            // this is protected method, so it's OK to use refection.
            _onScroll = _scrollBar.GetType().GetMethod("OnScroll", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);

            // add themeable scrollbar
            C1ScrollBar = new C1VScrollBar()
            {
                Dock     = DockStyle.Right,
                Width    = _scrollBar.Width + 1,
                Location = new System.Drawing.Point(0, 0)
            };
            C1ScrollBar.Scroll       += _c1ScrollBar_Scroll;
            C1ScrollBar.ValueChanged += C1ScrollBar_ValueChanged;
            UpdateProperties();

            _gridView.Controls.Add(C1ScrollBar);

            var m = Margin;

            m.Right = C1ScrollBar.Width;
            Margin  = m;
        }