zoukankan      html  css  js  c++  java
  • DataGridView使用技巧(七、设定列宽和行高自动调整).NET

    DataGridView使用技巧(七、设定列宽和行高自动调整)----.NET

    1) 设定行高和列宽自动调整

    [VB.NET]
    ' 设定包括Header和所有单元格的列宽自动调整
    DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells

    ' 设定包括Header和所有单元格的行高自动调整
    DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells

    [C#]
    // 设定包括Header和所有单元格的列宽自动调整
    DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;

    // 设定包括Header和所有单元格的行高自动调整
    DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;


    AutoSizeColumnsMode 属性的设定值枚举请参照 msdn 的 DataGridViewAutoSizeRowsMode 说明。

    2)指定列或行自动调整

    [VB.NET]
    ' 第一列自动调整
    DataGridView1.Columns(0).AutoSizeMode = _
         DataGridViewAutoSizeColumnMode.DisplayedCells

    [C#]
    // 第一列自动调整
    DataGridView1.Columns[0].AutoSizeMode =
         DataGridViewAutoSizeColumnMode.DisplayedCells;


    AutoSizeMode 设定为 NotSet 时,默认继承的是 DataGridView.AutoSizeColumnsMode 属性。

    3) 设定列头的高度和行头的宽度自动调整

    [VB.NET]
    ' 设定列头的宽度可以自由调整
    DataGridView1.ColumnHeadersHeightSizeMode = _
         DataGridViewColumnHeadersHeightSizeMode.AutoSize

    ' 设定行头的宽度可以自由调整
    DataGridView1.RowHeadersWidthSizeMode = _
         DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders

    [C#]
    // 设定列头的宽度可以自由调整
    DataGridView1.ColumnHeadersHeightSizeMode =
         DataGridViewColumnHeadersHeightSizeMode.AutoSize;

    // 设定行头的宽度可以自由调整
    DataGridView1.RowHeadersWidthSizeMode =
         DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;


    4)随时自动调整
    a,临时的,让列宽自动调整,这和指定AutoSizeColumnsMode属性一样。

    [VB.NET]
    ' 让 DataGridView1 的所有列宽自动调整一下。
    DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)

    ' 让 DataGridView1 的第一列的列宽自动调整一下。
    DataGridView1.AutoResizeColumn(0, DataGridViewAutoSizeColumnMode.AllCells)

    [C#]
    // 让 DataGridView1 的所有列宽自动调整一下。
    DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);

    // 让 DataGridView1 的第一列的列宽自动调整一下。
    DataGridView1.AutoResizeColumn(0, DataGridViewAutoSizeColumnMode.AllCells);

    上面调用的 AutoResizeColumns 和 AutoResizeColumn 当指定的是DataGridViewAutoSizeColumnMode.AllCells 的时候,参数可以省略。即:
    DataGridView1.AutoResizeColumn(0) 和 DataGridView1.AutoResizeColumns()

    b,临时的,让行高自动调整

    [VB.NET]
    ' 让 DataGridView1 的所有行高自动调整一下。
    DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells)

    ' 让 DataGridView1 的第一行的行高自动调整一下。
    DataGridView1.AutoResizeRow(0, DataGridViewAutoSizeRowMode.AllCells)

    [C#]
    // 让 DataGridView1 的所有行高自动调整一下。
    DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);

    //让 DataGridView1 的第一行的行高自动调整一下。
    DataGridView1.AutoResizeRow(0, DataGridViewAutoSizeRowMode.AllCells);

    上面调用的 AutoResizeRows 和 AutoResizeRow 当指定的是DataGridViewAutoSizeRowMode.AllCells 的时候,参数可以省略。即:DataGridView1.AutoResizeRow (0) 和 DataGridView1.AutoResizeRows()

    c,临时的,让行头和列头自动调整

    [VB.NET]
    ' 列头高度自动调整
    DataGridView1.AutoResizeColumnHeadersHeight()

    ' 行头宽度自动调整 
    DataGridView1.AutoResizeRowHeadersWidth( _
         DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders)

    [C#]
    // 列头高度自动调整
    DataGridView1.AutoResizeColumnHeadersHeight();

    // 行头宽度自动调整
    DataGridView1.AutoResizeRowHeadersWidth(
         DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);


    关于性能:
    通过 AutoSizeColumnsMode 或者 AutoSizeRowsMode 属性所指定的单元格进行自动调整时,如果调整次数过于多那么将可能导致性能下降,尤其是在行和列数比较多的情况下。在这时用 DisplayedCells 代替 AllCells 能减少非所见的单元格的调整,从而提高性能。
  • 相关阅读:
    Leetcode 1711. 大餐计数(桶)
    macOS下安装powerline-status失败(报错Could not install packages due to an EnvironmentError)
    macOS下安装oh my zsh失败(报错Connection refused)
    Chapter 10 Operator Overloading
    牛客IOI周赛26-普及组 B. 子序列(int128)
    关于状压DP中子集状态的枚举
    2021蓝桥杯省赛第一场C/C++A组 试题E:回路计数(状压DP)
    AcWing 2879. 画中漂流(简单DP)
    Leetcode 525. 连续数组(前缀和性质/map)
    牛客小白月赛34 B. dd爱探险(状压DP)
  • 原文地址:https://www.cnblogs.com/Linyb/p/3356833.html
Copyright © 2011-2022 走看看