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.

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

Int32

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

Исключения

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

Значение rowIndex находится вне допустимого диапазона от 0 до количества строк в элементе управления минус 1.

Примеры

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

// 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свойства .

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

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

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