如果配置基于内容的自动调整大小行和列和的WrapMode启用,DataGridView控件将调整单元内容改变大小时,将使用一个理想的细胞高度对宽度的比例,当计算新的大小。
要配置标题和行和列不会覆盖控制,浆纱模式设置一个或多个以下的DataGridView属性:
?ColumnHeadersHeightSizeMode
?RowHeadersWidthSizeMode
?AutoSizeColumnsMode
?AutoSizeRowsMo??de
若要重写控件的列大小的单个列模式,将其AutoSizeMode属性的比NotSet等。一列大小调整模式实际上是取决于它的InheritedAutoSizeMode财产。这个属性的是基于列的AutoSizeMode属性,除非该是NotSet,在这种情况下控制的AutoSizeColumnsMode继承。
请谨慎使用基于内容的自动调整大小时,大量数据的工作。为了避免性能下降,使用自动调整大小模式,而不是分析计算中的每一行控制的基础上所显示的行唯一的大小。为获得最佳性能,使用编程调整大小,而不是让你在特定的时间可以调整,如新的数据后立即加载。
基于内容的自动调整大小模式不会影响行,列或标题,你已经通过设置行或列的Visible属性或控制RowHeadersVisible或ColumnHeadersVisible属性为false隐藏。例如,如果列是隐藏后,它会自动调整以适应一个大单元的,隐藏的列将不会改变它的大小,如果大所在的行单元的将被删除。自动调整大小时,不会出现能见度的变化,因此更改列的Visible属性返回true,将不会强迫它重新计算其大小的当前内容为基础。
方案内容为基础的大小影响的行,列和标题不论其知名度。
5.3.4编程调整大小
禁用自动调整大小时,您可以通过编程设置精确的宽度通过下列属性或行,列或标题的高度:
?RowHeadersWidth
?ColumnHeadersHeight
?DataGridViewRow.Height
?DataGridViewColumn.Width
您还可以通过编程调整行,列和标题,以适合他们的内容使用下列方法:
?AutoResizeColumn
?AutoResizeColumns
?AutoResizeColumnHeadersHeight
?AutoResizeRow
?AutoResizeRows
?AutoResizeRowHeadersWidth
这些方法将调整行,列或标题一次,而不是连续的大小配置它们。新的大小自动计算显示没有剪辑的所有单元内容。当您以编程方式调整列有填充InheritedAutoSizeMode属性,但是,计算出的基于内容的宽度按比例用于调整列FillWeight属性,实际列宽,然后根据这些新的计算比例,让所有列填充该控件的可用显示区域。
编程调整大小可以有效避免连续调整大小的性能损失。它也为用户提供有用的调整大小的行,列和标题的初始大小,列填充模式。
你通常会在特定时间调用的方案调整方法。例如,您可能编程加载数据后,立即调整所有列,或者你可能一个特定的编程方式调整后的行某单元已被修改。
5.3.5自定义基于内容的调整大小行为
您可以自定义大小的行为时,派生的DataGridView单元,行和列类型的工作通过覆盖DataGridViewCell.GetPreferredSize(),DataGridViewRow.GetPreferredHeight(),或DataGridViewColumn.GetPreferredWidth()方法或通过调用DataGridView的保护,在派生大小的方法重载控制。受保护的大小的方法重载的目的是在对工作,以实现理想的单元高度与宽度的比例,避免过于宽或高的细胞。例如,如果调用AutoResizeRows(DataGridViewAutoSizeRowsMo??de,布尔)的AutoResizeRows方法重载并传入一个虚假的布尔参数的,过载将计算在该行细胞的理想的高度和宽度,但它会调整行高而已。然后,您必须调用AutoResizeColumns方法来调整列宽度以计算的理想选择。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-50070-33.html
时间不定
向第一财经致敬
0现在是9