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 フォーム 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、計算された列の幅に基づいて行の高さを計算し、理想的なセルの高さと幅の比率を実現します。

セルの内容を複数の行に折り返すには、セルに対して有効なセル スタイルのプロパティ値TrueWrapMode必要です。

自動サイズ変更の詳細については、「Windows フォーム DataGridView コントロールのサイズ設定オプション」を参照してください。

適用対象

こちらもご覧ください