在将列设置为填充的AutoSizeMode时,是否有办法获得水平滚动条?
我有2列,我希望它们填充DataGridView的宽度。当行中的内容宽度超过DataGridView的宽度时,我想启用水平滚动条。不知道该怎么做。通过我所做的研究,我发现使用" AllCell" AutoSizeMode中的选项将启用滚动条,但是,我希望行填充DataGridView。
答案 0 :(得分:0)
你不能本身都有这两种行为
您必须使用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;
}
请注意,如果数据网格中有很多行,这可能非常耗时。
答案 1 :(得分:0)
有一个简单的方法,虽然它显然不是理想的:
这样(几乎)就像第二列的AutoSizeMode设置为FIll一样。
这里,Column1和Column2的AutoSizeMode设置为DisplayedCells,Column3设置为Fill: