DataGridViewRow.GetPreferredHeight Methode

Definition

Berechnet die optimale Höhe der angegebenen Zeile anhand der angegebenen Kriterien.

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

Parameter

rowIndex
Int32

Der Index der Zeile, deren bevorzugte Höhe berechnet wird.

autoSizeRowMode
DataGridViewAutoSizeRowMode

Ein DataGridViewAutoSizeRowMode, der einen Modus für die automatische Größenänderung angibt.

fixedWidth
Boolean

true, wenn die bevorzugte Höhe für eine feste Zellbreite berechnet werden soll, andernfalls false.

Gibt zurück

Int32

Die optimale Höhe der Zeile in Pixel.

Ausnahmen

autoSizeRowMode ist kein gültiger DataGridViewAutoSizeRowMode-Wert.

Der rowIndex befindet sich nicht im gültigen Bereich (0 bis Anzahl der Zeilen im Steuerelement minus 1).

Beispiele

Im folgenden Codebeispiel wird die Methode verwendet, um den neuen Abstand für eine Zeile zu ermitteln, die GetPreferredHeight geändert wurde. Dieses Codebeispiel ist Teil eines größeren Beispiels, das in "How to" bereitgestellt wird: Anpassen der Darstellung von Zeilen im Windows Forms DataGridView-Steuerelement.

// 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

Hinweise

Diese Eigenschaft wird von der inhaltsbasierten automatischen Größenanpassungsfunktion des DataGridView Steuerelements verwendet, um die ideale Höhe einer Zeile zu bestimmen. Mit dem rowIndex Wert können Sie den tatsächlichen Zeilenindex einer freigegebenen Zeile angeben. (Freigegebene Zeilen verfügen über Index Eigenschaftenwerte von -1.)

Ein fixedWidth Parameterwert berechnet false die Zeilenhöhe basierend auf berechneten Spaltenbreiten, die ideale Zellhöhen-zu-Breite-Verhältnis erreichen.

Für Zellinhalte, die in mehrere Zeilen umgebrochen werden sollen, muss die Zellformatvorlage für die Zelle einen WrapMode Eigenschaftswert aufweisen.True

Weitere Informationen zur automatischen Größe finden Sie unter "Größenoptionen" im Windows Forms DataGridView-Steuerelement.

Gilt für:

Siehe auch