DataGridViewRow.GetPreferredHeight メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した基準に基づいて、指定した行の適切な高さを計算します。
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
。
戻り値
行の適切な高さ (ピクセル単位)。
例外
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
、計算された列の幅に基づいて行の高さを計算し、理想的なセルの高さと幅の比率を実現します。
セルの内容を複数の行に折り返すには、セルに対して有効なセル スタイルのプロパティ値TrueがWrapMode必要です。
自動サイズ変更の詳細については、「Windows フォーム DataGridView コントロールのサイズ設定オプション」を参照してください。