DataGridView始终使用AutoSizeColumnsMode = Fill显示VerticalScrollBar

时间:2017-11-16 05:14:00

标签: c# winforms datagridview

我有一个表格,其中有3个垂直堆叠的DataGridView控件。所有网格都具有相同的列宽度相同的列。所有3个网格都有AutoSizeColumnsMode = Fill以使列填充网格的整个宽度。因此,所有列都在所有网格上相互排列。

我的问题出现在某些网格的行数多于其他网格而其他网格不合适的情况下。这导致一些网格具有垂直滚动条。当滚动条显示时,它会使列允许的空间缩小滚动条的宽度。由于我使用AutoSizeColumnsMode = Fill,因此列不再在网格之间排列。

这是我得到的。正如您所看到的,第一个网格有更多的3行适合所以有一个滚动条。第2和第3个网格只有3行,因此没有滚动条。第2和第3个网格中的列对齐,但它们不与第一个网格对齐。

enter image description here

要解决这个问题,我想强制垂直滚动条始终显示,即使没有任何内容可以滚动。

我做了一些在线搜索,找到了几乎可行的解决方案。

MQC.TRANSPORT_MQSERIES_CLIENT

这个问题是滚动条显示最后一列的ON TOP并覆盖最后一个列标题的末尾,而不是强制所有列的总宽度减少滚动条的宽度。我希望滚动条强制列像第一个网格中看到的那样窄一些。

0 个答案:

没有答案