DataGridView中的ScrollBar

Sak*_*kle 1 .net datagridview scrollbar visual-studio winforms

我在vs2008中有一个包含DataGridView的winform.datagrid包含一个包含多个列的列表.这些都是固定的宽度,除了我设置的任何一个空间,并填充视图的宽度.winform可以在所有方向调整大小.

我试图解决的问题是,当我增加窗口的垂直大小时,滚动条消失,列向右捕捉以填充额外的空间.我想要发生的是垂直scrollBar永远不会消失.在DataGridView的属性中将ScrollBars设置为vertical不会执行此操作.

这有可能实现吗?如果是这样,我如何让垂直滚动条始终可见?

gkr*_*ers 6

尝试继承DataGridView并处理VerticalScrollBar的VisibleChanged事件.您应该能够在其中将Visible属性设置为True,从而覆盖默认行为.

我觉得......这样的事情......

public class SubclassedDataGridView : DataGridView
    {
        public SubclassedDataGridView (): base()
        {
            VerticalScrollBar.VisibleChanged += new EventHandler(VerticalScrollBar_VisibleChanged);
        }

        void VerticalScrollBar_VisibleChanged(object sender, EventArgs e)
        {
            VerticalScrollBar.Visible = true;
        }
     }
Run Code Online (Sandbox Code Playgroud)