![](/img/trans.png)
[英]How to remove Vertical and Horizontal scroll bar from DataGridView in C sharp?
[英]Horizontal Scroll Bar on DataGridView
有没有办法让水平滚动条同时让列的 AutoSizeMode 设置为填充?
我有 2 列,我希望它们填充 DataGridView 的宽度。 当行中内容的宽度超过DataGridView的宽度时,我想启用水平滚动条。 不知道该怎么做。 通过我所做的研究,我发现在 AutoSizeMode 中使用“AllCell”选项可以启用滚动条,但是,我希望行填充 DataGridView。
您不能同时具有两种行为。
您将必须使用DataGridViewColumn.MinimumWidth
属性对其进行编码。
这是一个使用DataGridView
的CellValueChanged
事件的示例(但您一定要使其适应特定情况):
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
foreach (DataGridViewColumn column in dataGridView1.Columns)
column.MinimumWidth = column.Width;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
}
请注意,如果您的数据网格中有很多行,这可能会非常耗时。
有一个简单的解决方法,尽管它显然不理想:
这样(几乎)就好像第二列的AutoSizeMode设置为FIll。
在这里,Column1和Column2的AutoSizeMode设置为DisplayedCells,Column3设置为Fill:
这是一个非常古老的帖子,但我想我会添加它。 如果您不介意将 AutoSizeMode 设置为 Fill。
将有问题的列的 AutoSizeMode 设置为 AllCells。
这将调整列标题的大小并强制它离开可见区域,从而显示水平滚动条。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.