DataGridView.AutoSizeColumnsMode DataGridView.AutoSizeColumnsMode DataGridView.AutoSizeColumnsMode DataGridView.AutoSizeColumnsMode Property

定義

列の幅を決定する方法を示す値を取得または設定します。Gets or sets a value indicating how column widths are determined.

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 値ではありません。The specified value when setting this property is not a valid DataGridViewAutoSizeColumnsMode value.

このプロパティの設定時に指定した値が ColumnHeader で、列ヘッダーは非表示に指定されており、表示されている列の少なくとも 1 つの AutoSizeMode プロパティの値が NotSet です。The specified value when setting this property is ColumnHeader, column headers are hidden, and at least one visible column has an AutoSizeMode property value of NotSet.

- または --or- このプロパティの設定時に指定した値が Fill で、表示されている列のうち AutoSizeMode プロパティの値が NotSet になっているものの少なくとも 1 つが固定されています。The specified value when setting this property is Fill and at least one visible column with an AutoSizeMode property value of NotSet is frozen.

次のコード例では、マスター/詳細のシナリオでこのプロパティを使用するDataGridView方法を示します。この場合、2つのコントロールが親/子リレーションシップの2つのテーブルのデータを表示します。The following code example illustrates how to use this property in a master/detail scenario where two DataGridView controls display data from two tables in a parent/child relationship. この例では、マスターコントロールの列のサイズ変更モードNoneはで、読み込まれた値に応じて列の幅がプログラムによって初期化されます。In this example, the column sizing mode for the master control is None, and the column widths are programmatically initialized to fit the loaded values. 詳細コントロールは自動的に列のサイズ変更モードに設定されるため、値が変更されるたびに自動的に列が調整されます (たとえば、ユーザーが親テーブルの現在の行を変更した場合など)。The details control is set to an automatic column sizing mode so that columns will adjust automatically whenever the values change (for example, when the user changes the current row in the parent table). この例は、次の方法で使用できる大きな例の一部です。2つの Windows フォーム DataGridView コントロールを使用してマスター/詳細フォームを作成します。This example is part of a larger example available in How to: Create a Master/Detail Form Using Two Windows Forms DataGridView Controls.

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

注釈

このプロパティを使用すると、コントロールを塗りつぶすか、セルの内容に合わせて、列の幅が自動的に調整されるようにコントロールを構成できます。This property lets you configure the control so that column widths are automatically adjusted either to fill the control or to fit cell contents. サイズ調整は、コントロールの幅が変更されるたびに塗りつぶしモードで行われます。Size adjustments occur in fill mode whenever the width of the control changes. コンテンツベースのサイズ変更モードでは、行の高さが変化するたびにWrapMode 、セルの内容が変更されるか、が有効になっている場合は、サイズの調整が行われます。In content-based sizing modes, size adjustments occur whenever cell contents change or, if WrapMode is enabled, whenever row heights change. 一部のコンテンツベースのサイズ変更モードでは、パフォーマンスを向上させるために、現在表示されている行のサイズ調整を制限できます。Some content-based sizing modes let you limit the size adjustment to the currently displayed rows in order to increase performance.

個々の列のサイズ変更モードを変更するにはAutoSizeMode 、そのプロパティを設定します。To change the sizing mode for an individual column, set its AutoSizeMode property. このプロパティの既定値はNotSetで、列がコントロールの動作InheritedAutoSizeModeとプロパティ値を継承することを示します。The default value of this property is NotSet, indicating that the column inherits its behavior and its InheritedAutoSizeMode property value from the control.

塗りつぶしモードの列は、使用可能なコントロールの幅をFillWeight 、プロパティ値で示される比率で割ります。Columns in fill mode divide the available control width in proportions indicated by their FillWeight property values. 塗りつぶしモードで使用できる幅は、コントロールのクライアント領域の幅から他のすべての列の幅を差し引くことによって決定されます。The width available for fill mode is determined by subtracting the widths of all other columns from the width of the client area of the control. この幅がすべてのフィルモード列MinimumWidthの結合された値より小さい場合は、水平スクロールバーが表示され、すべてのフィルモード列が最小幅で表示され、ユーザー列のサイズ変更は無効になります。If this width is smaller than the combined MinimumWidth values of all fill-mode columns, the horizontal scroll bar is displayed, all fill-mode columns are shown with their minimum widths, and user column-resizing is disabled. 列の塗りつぶしモードの詳細については、「 Windows フォーム DataGridView コントロールでの列の塗りつぶしモード」を参照してください。For more information about column fill mode, see Column Fill Mode in the Windows Forms DataGridView Control.

Visibleプロパティ値がのtrue列だけが自動的にサイズ変更され、列の表示を変更してもサイズ変更は行われません。Only columns with a Visible property value of true are resized automatically, and changing the visibility of a column does not cause resizing to occur. また、列が自動的にサイズ変更されるように設定されている場合、ユーザーはマウスを使用して列の幅を調整することはできません。Additionally, when columns are set to automatically resize, the user cannot adjust the column widths with the mouse.

プログラムによってAutoResizeColumn列幅を調整するには、メソッドまたWidth AutoResizeColumnsはメソッドを使用するか、列プロパティを設定します。To adjust column widths programmatically, use the AutoResizeColumn or AutoResizeColumns methods or set the column Width property.

コンテンツベースの自動サイズ設定の詳細については、「 Windows フォーム DataGridView コントロールのサイズ変更オプション」を参照してください。For more information about content-based automatic sizing, see Sizing Options in the Windows Forms DataGridView Control.

適用対象

こちらもご覧ください