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

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

例外

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

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

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

次のコード例では、マスター/詳細のシナリオでこのプロパティを使用する方法を示します。この場合、2つの DataGridView コントロールが親/子リレーションシップの2つのテーブルのデータを表示します。 この例では、マスターコントロールの列のサイズ変更モードは 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 コントロールでの列の塗りつぶしモード」を参照してください。

Visibleプロパティ値がの列だけ true が自動的にサイズ変更され、列の表示を変更してもサイズ変更は行われません。 また、列が自動的にサイズ変更されるように設定されている場合、ユーザーはマウスを使用して列の幅を調整することはできません。

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

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

適用対象

こちらもご覧ください