我有一个 Winform DataGridView,它使用 AutoSizeColumnMode = AllCellsExceptHeader。
一切正常,只是有些列太宽了。我希望能够设置一个“MaxWidth”属性,以便该列将根据单元格内容调整大小,最大为MaxWidth。列具有 MinWidth 属性,但没有 MaxWidth。有没有办法实现这个目标?
按照评论中的建议,处理 DataGridView.ColumnWidthChanged 事件,设置 column.AutoSizeMode = None 并且宽度有效。
private void Grid_ColumnWidthChanged(object? sender, DataGridViewColumnEventArgs e)
{
if (e.Column.Width > 1000)
{
e.Column.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
e.Column.Width = 1000;
}
}