Поделиться через


DataGridViewRow.GetPreferredHeight Метод

Определение

Вычисляет идеальную высоту указанной строки на основе указанных критериев.

public:
 virtual int GetPreferredHeight(int rowIndex, System::Windows::Forms::DataGridViewAutoSizeRowMode autoSizeRowMode, bool fixedWidth);
public virtual int GetPreferredHeight(int rowIndex, System.Windows.Forms.DataGridViewAutoSizeRowMode autoSizeRowMode, bool fixedWidth);
abstract member GetPreferredHeight : int * System.Windows.Forms.DataGridViewAutoSizeRowMode * bool -> int
override this.GetPreferredHeight : int * System.Windows.Forms.DataGridViewAutoSizeRowMode * bool -> int
Public Overridable Function GetPreferredHeight (rowIndex As Integer, autoSizeRowMode As DataGridViewAutoSizeRowMode, fixedWidth As Boolean) As Integer

Параметры

rowIndex
Int32

Индекс строки, предпочитаемая высота которой вычисляется.

autoSizeRowMode
DataGridViewAutoSizeRowMode

Значение, DataGridViewAutoSizeRowMode указывающее режим автоматического изменения размера.

fixedWidth
Boolean

true для вычисления предпочтительной высоты для фиксированной ширины ячейки; falseв противном случае .

Возвращаемое значение

Идеальная высота строки в пикселях.

Исключения

autoSizeRowMode недопустимое DataGridViewAutoSizeRowMode значение.

Недопустимый rowIndex диапазон от 0 до числа строк в элементе управления минус 1.

Примеры

В следующем примере кода метод используется GetPreferredHeight для определения нового заполнения строки, которая была изменена. Этот пример кода является частью более крупного примера, предоставленного в разделе "Практическое руководство. Настройка внешнего вида строк в элементе управления DataGridView в Windows Forms".

// Adjusts the padding when the user changes the row height so that 
// the normal cell content is fully displayed and any extra
// height is used for the content that spans multiple columns.
void dataGridView1_RowHeightChanged(object sender,
    DataGridViewRowEventArgs e)
{
    // Calculate the new height of the normal cell content.
    Int32 preferredNormalContentHeight =
        e.Row.GetPreferredHeight(e.Row.Index, 
        DataGridViewAutoSizeRowMode.AllCellsExceptHeader, true) -
        e.Row.DefaultCellStyle.Padding.Bottom;

    // Specify a new padding.
    Padding newPadding = e.Row.DefaultCellStyle.Padding;
    newPadding.Bottom = e.Row.Height - preferredNormalContentHeight;
    e.Row.DefaultCellStyle.Padding = newPadding;
}
' Adjusts the padding when the user changes the row height so that 
' the normal cell content is fully displayed and any extra
' height is used for the content that spans multiple columns.
Sub dataGridView1_RowHeightChanged(ByVal sender As Object, _
    ByVal e As DataGridViewRowEventArgs) _
    Handles dataGridView1.RowHeightChanged

    ' Calculate the new height of the normal cell content.
    Dim preferredNormalContentHeight As Int32 = _
        e.Row.GetPreferredHeight(e.Row.Index, _
        DataGridViewAutoSizeRowMode.AllCellsExceptHeader, True) - _
        e.Row.DefaultCellStyle.Padding.Bottom()

    ' Specify a new padding.
    Dim newPadding As Padding = e.Row.DefaultCellStyle.Padding
    newPadding.Bottom = e.Row.Height - preferredNormalContentHeight
    e.Row.DefaultCellStyle.Padding = newPadding

End Sub

Комментарии

Это свойство используется функцией автоматического изменения размера на основе содержимого DataGridView элемента управления для определения идеальной высоты строки. Значение rowIndex позволяет указать фактический индекс строки общей строки. (Общие строки имеют Index значения свойств -1.)

fixedWidth Значение false параметра вычисляет высоту строки на основе вычисляемых ширин столбцов, которые обеспечивают идеальные коэффициенты высоты к ширине ячейки.

Для переноса содержимого ячейки на несколько строк стиль ячейки, действующий для ячейки, должен иметь WrapMode значение Trueсвойства.

Дополнительные сведения об автоматическом изменении размера см. в разделе "Параметры изменения размера" в элементе управления DataGridView в Windows Forms.

Применяется к

См. также раздел