我在vs2008中有一个包含DataGridView的winform.datagrid包含一个包含多个列的列表.这些都是固定的宽度,除了我设置的任何一个空间,并填充视图的宽度.winform可以在所有方向调整大小.
我试图解决的问题是,当我增加窗口的垂直大小时,滚动条消失,列向右捕捉以填充额外的空间.我想要发生的是垂直scrollBar永远不会消失.在DataGridView的属性中将ScrollBars设置为vertical不会执行此操作.
这有可能实现吗?如果是这样,我如何让垂直滚动条始终可见?
尝试继承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; } }