Language

DataGridView.AutoResizeColumn メソッド

定義

セルの内容に合わせて、指定した列の幅を調整します。

オーバーロード

名前 説明
AutoResizeColumn(Int32)

ヘッダー セルを含むすべてのセルの内容に合わせて、指定した列の幅を調整します。

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode)

指定したサイズ モードを使用して、指定した列の幅を調整します。

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean)

指定したサイズ モードを使用して、指定した列の幅を調整します。必要に応じて、行の高さが後で調整されることを想定して幅を計算します。

AutoResizeColumn(Int32)

ソース:
DataGridView.Methods.cs
ソース:
DataGridView.Methods.cs
ソース:
DataGridView.Methods.cs
ソース:
DataGridView.Methods.cs
ソース:
DataGridView.Methods.cs

ヘッダー セルを含むすべてのセルの内容に合わせて、指定した列の幅を調整します。

public:
 void AutoResizeColumn(int columnIndex);
public void AutoResizeColumn(int columnIndex);
member this.AutoResizeColumn : int -> unit
Public Sub AutoResizeColumn (columnIndex As Integer)

パラメーター

columnIndex
Int32

サイズを変更する列のインデックス。

例外

columnIndex が 0 から列数から 1 を引いた有効な範囲にありません。

例

次のコード例では、このメソッドを使用して、新しいセル値を格納するのに十分な大きさの列幅を作成します。 この例は、「 方法: Windows フォーム DataGridView コントロールの行を操作する」で使用できるより大きな例の一部です。

// Give cheescake excellent rating.
void Button8_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
   UpdateStars( dataGridView->Rows[ 4 ], L"******************" );
}

int ratingColumn;
void UpdateStars( DataGridViewRow^ row, String^ stars )
{
   row->Cells[ ratingColumn ]->Value = stars;
   
   // Resize the column width to account for the new value.
   row->DataGridView->AutoResizeColumn( ratingColumn, DataGridViewAutoSizeColumnMode::DisplayedCells );
}
// Give cheescake excellent rating.
private void Button8_Click(object sender,
    System.EventArgs e)
{
    UpdateStars(dataGridView.Rows[4], "******************");
}

int ratingColumn = 3;

private void UpdateStars(DataGridViewRow row, string stars)
{

    row.Cells[ratingColumn].Value = stars;

    // Resize the column width to account for the new value.
    row.DataGridView.AutoResizeColumn(ratingColumn, 
        DataGridViewAutoSizeColumnMode.DisplayedCells);
}
' Give cheescake excellent rating.
Private Sub Button8_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles Button8.Click

    UpdateStars(dataGridView.Rows(4), "******************")
End Sub

Private ratingColumn As Integer = 3

Private Sub UpdateStars(ByVal row As DataGridViewRow, _
    ByVal stars As String)

    row.Cells(ratingColumn).Value = stars

    ' Resize the column width to account for the new value.
    row.DataGridView.AutoResizeColumn(ratingColumn, _
        DataGridViewAutoSizeColumnMode.DisplayedCells)

End Sub

注釈

このメソッドは、列のサイズを変更するタイミングを制御する場合に便利です。 列の幅は、メソッド呼び出しごとに 1 回だけ調整されます。後で列の内容が変更された場合、列は自動的に調整されません。 すべての列のサイズを変更するには、 AutoResizeColumns メソッドを使用します。 内容が変更されるたびに列のサイズが自動的に変更されるように設定するには、 AutoSizeColumnsMode プロパティまたは列 AutoSizeMode プロパティを使用します。

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

こちらもご覧ください

適用対象

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode)

ソース:
DataGridView.Methods.cs
ソース:
DataGridView.Methods.cs
ソース:
DataGridView.Methods.cs
ソース:
DataGridView.Methods.cs
ソース:
DataGridView.Methods.cs

指定したサイズ モードを使用して、指定した列の幅を調整します。

public:
 void AutoResizeColumn(int columnIndex, System::Windows::Forms::DataGridViewAutoSizeColumnMode autoSizeColumnMode);
public void AutoResizeColumn(int columnIndex, System.Windows.Forms.DataGridViewAutoSizeColumnMode autoSizeColumnMode);
member this.AutoResizeColumn : int * System.Windows.Forms.DataGridViewAutoSizeColumnMode -> unit
Public Sub AutoResizeColumn (columnIndex As Integer, autoSizeColumnMode As DataGridViewAutoSizeColumnMode)

パラメーター

columnIndex
Int32

サイズを変更する列のインデックス。

例外

autoSizeColumnMode には値 ColumnHeader があり、 ColumnHeadersVisible は false。

autoSizeColumnMode には、値 NotSet、 None、または Fillがあります。

columnIndex が 0 から列数から 1 を引いた有効な範囲にありません。

autoSizeColumnMode が有効な DataGridViewAutoSizeColumnMode 値ではありません。

例

次のコード例では、このメソッドを使用して、新しいセル値を格納するのに十分な大きさの列幅を作成します。 この例は、「 方法: Windows フォーム DataGridView コントロールの行を操作する」で使用できるより大きな例の一部です。

// Give cheescake excellent rating.
void Button8_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
   UpdateStars( dataGridView->Rows[ 4 ], L"******************" );
}

int ratingColumn;
void UpdateStars( DataGridViewRow^ row, String^ stars )
{
   row->Cells[ ratingColumn ]->Value = stars;
   
   // Resize the column width to account for the new value.
   row->DataGridView->AutoResizeColumn( ratingColumn, DataGridViewAutoSizeColumnMode::DisplayedCells );
}
// Give cheescake excellent rating.
private void Button8_Click(object sender,
    System.EventArgs e)
{
    UpdateStars(dataGridView.Rows[4], "******************");
}

int ratingColumn = 3;

private void UpdateStars(DataGridViewRow row, string stars)
{

    row.Cells[ratingColumn].Value = stars;

    // Resize the column width to account for the new value.
    row.DataGridView.AutoResizeColumn(ratingColumn, 
        DataGridViewAutoSizeColumnMode.DisplayedCells);
}
' Give cheescake excellent rating.
Private Sub Button8_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles Button8.Click

    UpdateStars(dataGridView.Rows(4), "******************")
End Sub

Private ratingColumn As Integer = 3

Private Sub UpdateStars(ByVal row As DataGridViewRow, _
    ByVal stars As String)

    row.Cells(ratingColumn).Value = stars

    ' Resize the column width to account for the new value.
    row.DataGridView.AutoResizeColumn(ratingColumn, _
        DataGridViewAutoSizeColumnMode.DisplayedCells)

End Sub

注釈

このメソッドは、列のサイズを変更するタイミングを制御する場合に便利です。 列の幅は、メソッド呼び出しごとに 1 回だけ調整されます。後で列の内容が変更された場合、列は自動的に調整されません。 すべての列のサイズを変更するには、 AutoResizeColumns メソッドを使用します。 内容が変更されるたびに列のサイズが自動的に変更されるように設定するには、 AutoSizeColumnsMode プロパティまたは列 AutoSizeMode プロパティを使用します。

このオーバーロードを使用すると、表示される行のみなど、限られたセルセットの値に基づいて新しい幅を計算するサイズ変更モードを指定できます。 これにより、コントロールに多数の行が含まれている場合のパフォーマンスが向上します。

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

こちらもご覧ください

適用対象

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean)

ソース:
DataGridView.Methods.cs
ソース:
DataGridView.Methods.cs
ソース:
DataGridView.Methods.cs
ソース:
DataGridView.Methods.cs
ソース:
DataGridView.Methods.cs

指定したサイズ モードを使用して、指定した列の幅を調整します。必要に応じて、行の高さが後で調整されることを想定して幅を計算します。

protected:
 void AutoResizeColumn(int columnIndex, System::Windows::Forms::DataGridViewAutoSizeColumnMode autoSizeColumnMode, bool fixedHeight);
protected void AutoResizeColumn(int columnIndex, System.Windows.Forms.DataGridViewAutoSizeColumnMode autoSizeColumnMode, bool fixedHeight);
member this.AutoResizeColumn : int * System.Windows.Forms.DataGridViewAutoSizeColumnMode * bool -> unit
Protected Sub AutoResizeColumn (columnIndex As Integer, autoSizeColumnMode As DataGridViewAutoSizeColumnMode, fixedHeight As Boolean)

パラメーター

columnIndex
Int32

サイズを変更する列のインデックス。

fixedHeight
Boolean

true 現在の行の高さに基づいて新しい幅を計算する場合。 false 行の高さも調整されることを想定して幅を計算します。

例外

autoSizeColumnMode には値 ColumnHeader があり、 ColumnHeadersVisible は false。

autoSizeColumnMode には、値 NotSet、 None、または Fillがあります。

columnIndex が 0 から列数から 1 を引いた有効な範囲にありません。

autoSizeColumnMode が有効な DataGridViewAutoSizeColumnMode 値ではありません。

注釈

このメソッドは、列のサイズを変更するタイミングを制御する場合に便利です。 列の幅は、メソッド呼び出しごとに 1 回だけ調整されます。後で列の内容が変更された場合、列は自動的に調整されません。 すべての列のサイズを変更するには、 AutoResizeColumns メソッドを使用します。 内容が変更されるたびに列のサイズが自動的に変更されるように設定するには、 AutoSizeColumnsMode プロパティまたは列 AutoSizeMode プロパティを使用します。

このオーバーロードを使用すると、表示される行のみなど、限られたセルセットの値に基づいて新しい幅を計算するサイズ変更モードを指定できます。 これにより、コントロールに多数の行が含まれている場合のパフォーマンスが向上します。

このオーバーロードは保護されており、派生 DataGridView クラスで理想的なセルの高さと幅の比率を実現できるように設計されています。 fixedHeightがfalseの場合、次に AutoResizeRow メソッドまたは AutoResizeRows メソッドを呼び出すと想定して列の幅が計算されます。

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

こちらもご覧ください

適用対象