DataGridView.AutoSizeColumnsMode プロパティ

定義

列の幅を決定する方法を示す値を取得または設定します。

public:
 property System::Windows::Forms::DataGridViewAutoSizeColumnsMode AutoSizeColumnsMode { System::Windows::Forms::DataGridViewAutoSizeColumnsMode get(); void set(System::Windows::Forms::DataGridViewAutoSizeColumnsMode value); };
public System.Windows.Forms.DataGridViewAutoSizeColumnsMode AutoSizeColumnsMode { get; set; }
member this.AutoSizeColumnsMode : System.Windows.Forms.DataGridViewAutoSizeColumnsMode with get, set
Public Property AutoSizeColumnsMode As DataGridViewAutoSizeColumnsMode

プロパティ値

DataGridViewAutoSizeColumnsMode 値。 既定値は、None です。

例外

このプロパティの設定時に指定した値が、有効な DataGridViewAutoSizeColumnsMode 値ではありません。

このプロパティの設定時に指定した値が ColumnHeader で、列ヘッダーは非表示に指定されており、表示されている列の少なくとも 1 つの AutoSizeMode プロパティの値が NotSet です。

- または -

このプロパティの設定時に指定した値が Fill で、表示されている列のうち AutoSizeMode プロパティの値が NotSet になっているものの少なくとも 1 つが固定されています。

次のコード例は、2 つのコントロールが親子関係の 2 つの DataGridView テーブルのデータを表示するマスター/詳細シナリオでこのプロパティを使用する方法を示しています。 この例では、マスター コントロールの列サイズ設定モードは であり None、読み込まれた値に合わせて列幅がプログラムによって初期化されます。 詳細コントロールは自動列サイズ設定モードに設定されるため、値が変更されるたびに列が自動的に調整されます (たとえば、ユーザーが親テーブルの現在の行を変更した場合など)。 この例は、「方法: 2 つのWindows フォーム DataGridView コントロールを使用してマスター/詳細フォームを作成する」で使用できるより大きな例の一部です。

private void Form1_Load(object sender, System.EventArgs e)
{
    // Bind the DataGridView controls to the BindingSource
    // components and load the data from the database.
    masterDataGridView.DataSource = masterBindingSource;
    detailsDataGridView.DataSource = detailsBindingSource;
    GetData();

    // Resize the master DataGridView columns to fit the newly loaded data.
    masterDataGridView.AutoResizeColumns();

    // Configure the details DataGridView so that its columns automatically
    // adjust their widths when the data changes.
    detailsDataGridView.AutoSizeColumnsMode = 
        DataGridViewAutoSizeColumnsMode.AllCells;
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles Me.Load

    ' Bind the DataGridView controls to the BindingSource
    ' components and load the data from the database.
    masterDataGridView.DataSource = masterBindingSource
    detailsDataGridView.DataSource = detailsBindingSource
    GetData()

    ' Resize the master DataGridView columns to fit the newly loaded data.
    masterDataGridView.AutoResizeColumns()

    ' Configure the details DataGridView so that its columns automatically
    ' adjust their widths when the data changes.
    detailsDataGridView.AutoSizeColumnsMode = _
        DataGridViewAutoSizeColumnsMode.AllCells

End Sub

注釈

このプロパティを使用すると、コントロールに入力するか、セルの内容に合わせて列幅を自動的に調整するようにコントロールを構成できます。 サイズ調整は、コントロールの幅が変更されるたびにフィル モードで行われます。 コンテンツ ベースのサイズ設定モードでは、セルの内容が変更されるたびにサイズ調整が行われます。有効になっている場合 WrapMode は、行の高さが変更されるたびにサイズ調整が行われます。 一部のコンテンツ ベースのサイズ設定モードでは、パフォーマンスを向上させるために、現在表示されている行にサイズ調整を制限できます。

個々の列のサイズ変更モードを変更するには、そのプロパティを AutoSizeMode 設定します。 このプロパティの既定値は です NotSet。これは、列がその動作と InheritedAutoSizeMode プロパティ値をコントロールから継承することを示します。

フィル モードの列は、使用可能なコントロールの幅を FillWeight 、プロパティ値で示される比率で除算します。 塗りつぶしモードで使用できる幅は、コントロールのクライアント領域の幅から他のすべての列の幅を減算することによって決定されます。 この幅がすべての塗りつぶしモード列の結合 MinimumWidth 値よりも小さい場合、水平スクロール バーが表示され、すべてのフィルモード列が最小幅で表示され、ユーザー列のサイズ変更が無効になります。 列の塗りつぶしモードの詳細については、「Windows フォーム DataGridView コントロールの列の塗りつぶしモード」を参照してください。

プロパティ値が Visibletrue 列のみが自動的にサイズ変更され、列の可視性を変更してもサイズ変更は行われません。 また、列のサイズが自動的に変更されるように設定されている場合、ユーザーはマウスを使用して列幅を調整できません。

プログラムで列の幅を調整するには、 メソッドまたは AutoResizeColumns メソッドをAutoResizeColumn使用するか、column Width プロパティを設定します。

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

適用対象

こちらもご覧ください