Sdílet prostřednictvím


DataGridViewRow.GetPreferredHeight Metoda

Definice

Vypočítá ideální výšku zadaného řádku na základě zadaných kritérií.

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

Parametry

rowIndex
Int32

Index řádku, jehož upřednostňovaná výška se vypočítá.

autoSizeRowMode
DataGridViewAutoSizeRowMode

Určuje DataGridViewAutoSizeRowMode režim automatické velikosti.

fixedWidth
Boolean

truek výpočtu upřednostňované výšky pro pevnou šířku buňky; v opačném případě . false

Návraty

Int32

Ideální výška řádku v pixelech

Výjimky

autoSizeRowMode není platná DataGridViewAutoSizeRowMode hodnota.

Hodnota rowIndex není v platném rozsahu 0 na počet řádků v ovládacím prvku minus 1.

Příklady

Následující příklad kódu používá metodu GetPreferredHeight k určení nového odsazení řádku, který byl změněn. Tento příklad kódu je součástí většího příkladu uvedeného v části Postupy: Přizpůsobení vzhledu řádků v ovládacím prvku model 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

Poznámky

Tuto vlastnost používá funkce DataGridView automatického nastavení velikosti na základě obsahu ovládacího prvku k určení ideální výšky řádku. Tato rowIndex hodnota umožňuje zadat skutečný index řádků sdíleného řádku. (Sdílené řádky mají Index hodnoty vlastností -1.)

Hodnota fixedWidth parametru false vypočítá výšku řádku na základě šířky počítaného sloupce, která dosáhne ideálního poměru výšky buňky k šířce.

Aby se obsah buňky zabalil na více řádků, musí mít styl buňky pro buňku WrapMode hodnotu Truevlastnosti .

Další informace o automatickém nastavení velikosti najdete v tématu Možnosti velikosti v ovládacím prvku model Windows Forms DataGridView.

Platí pro

Viz také