Freigeben über


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

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 GetPreferredHeight -Methode verwendet, um die neue Auffüllung für eine Zeile zu bestimmen, deren Größe geändert wurde. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels unter Vorgehensweise: 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 rowIndex dem Wert können Sie den tatsächlichen Zeilenindex einer freigegebenen Zeile angeben. (Freigegebene Zeilen weisen Index den Eigenschaftswert -1 auf.)

Ein fixedWidth Parameterwert von false berechnet die Zeilenhöhe basierend auf berechneten Spaltenbreiten, die ideale Zellenhöhen-Zu-Breite-Verhältnisse erzielen.

Damit Zellinhalte in mehrere Zeilen umgebrochen werden können, muss die für die Zelle wirksamen Zellformatvorlage den WrapMode -Eigenschaftswert aufweisen True.

Weitere Informationen zur automatischen Größenanpassung finden Sie unter Größenanpassungsoptionen im Windows Forms DataGridView-Steuerelement.

Gilt für:

Weitere Informationen