DataGridView.AutoSizeColumnsMode 属性

定义

获取或设置一个值,该值指示如何确定列宽。

public:
 property System::Windows::Forms::DataGridViewAutoSizeColumnsMode AutoSizeColumnsMode { System::Windows::Forms::DataGridViewAutoSizeColumnsMode get(); void set(System::Windows::Forms::DataGridViewAutoSizeColumnsMode value); };
public System.Windows.Forms.DataGridViewAutoSizeColumnsMode AutoSizeColumnsMode { get; set; }
member this.AutoSizeColumnsMode : System.Windows.Forms.DataGridViewAutoSizeColumnsMode with get, set
Public Property AutoSizeColumnsMode As DataGridViewAutoSizeColumnsMode

属性值

DataGridViewAutoSizeColumnsMode

一个 DataGridViewAutoSizeColumnsMode 值。 默认值为 None

例外

当设置此属性时,指定的值不是有效的 DataGridViewAutoSizeColumnsMode 值。

当设置此属性时,指定值为 ColumnHeader,列标题被隐藏,并且至少有一个可见列具有 NotSetAutoSizeMode 属性值。

  • 或 - 当设置此属性时,指定值为 Fill,并且至少一个具有 NotSetAutoSizeMode 属性值的可见列被冻结。

示例

下面的代码示例演示如何在 master/detail 方案中使用此属性,其中两 DataGridView 个控件在父/子关系中的两个表中显示数据。 在此示例中,主控件的列大小调整模式是 None,并且以编程方式初始化列宽以适应加载的值。 详细信息控件设置为自动列大小调整模式,以便每当值更改 ((例如,当用户更改父表中的当前行时)) 时,列都会自动调整。 此示例是 How to: Create a Master/Detail Form Using Two Windows 窗体 DataGridView Controls 中提供的较大示例的一部分。

private void Form1_Load(object sender, System.EventArgs e)
{
    // Bind the DataGridView controls to the BindingSource
    // components and load the data from the database.
    masterDataGridView.DataSource = masterBindingSource;
    detailsDataGridView.DataSource = detailsBindingSource;
    GetData();

    // Resize the master DataGridView columns to fit the newly loaded data.
    masterDataGridView.AutoResizeColumns();

    // Configure the details DataGridView so that its columns automatically
    // adjust their widths when the data changes.
    detailsDataGridView.AutoSizeColumnsMode = 
        DataGridViewAutoSizeColumnsMode.AllCells;
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles Me.Load

    ' Bind the DataGridView controls to the BindingSource
    ' components and load the data from the database.
    masterDataGridView.DataSource = masterBindingSource
    detailsDataGridView.DataSource = detailsBindingSource
    GetData()

    ' Resize the master DataGridView columns to fit the newly loaded data.
    masterDataGridView.AutoResizeColumns()

    ' Configure the details DataGridView so that its columns automatically
    ' adjust their widths when the data changes.
    detailsDataGridView.AutoSizeColumnsMode = _
        DataGridViewAutoSizeColumnsMode.AllCells

End Sub

注解

此属性允许你配置控件,以便自动调整列宽以填充控件或调整单元格内容。 每当控件的宽度发生更改时,大小调整都会出现填充模式。 在基于内容的大小调整模式下,每当单元格内容发生更改或 WrapMode 启用时,只要行高度发生更改,大小调整将发生。 某些基于内容的大小调整模式允许将大小调整限制为当前显示的行,以提高性能。

若要更改单个列的大小调整模式,请设置其 AutoSizeMode 属性。 此属性的默认值为 NotSet,指示列从控件继承其行为及其 InheritedAutoSizeMode 属性值。

填充模式下的列将可用控件宽度除以其 FillWeight 属性值指示的比例。 可用于填充模式的宽度是通过从控件工作区的宽度中减去所有其他列的宽度来确定的。 如果此宽度小于所有填充模式列的组合 MinimumWidth 值,则显示水平滚动条,所有填充模式列均以最小宽度显示,并且禁用用户列大小调整。 有关列填充模式的详细信息,请参阅 Windows 窗体 DataGridView 控件中的列填充模式

只有属性值为trueVisible列会自动调整大小,并且更改列的可见性不会导致大小调整。 此外,当列设置为自动调整大小时,用户无法使用鼠标调整列宽。

若要以编程方式调整列宽,请使用 AutoResizeColumnAutoResizeColumns 方法或设置列 Width 属性。

有关基于内容的自动大小调整的详细信息,请参阅 Windows 窗体 DataGridView 控件中的大小调整选项

适用于

另请参阅