注意:DataGridViewコントロールは、.NET Framework 2.0で新しく追加されました。
通常はDataGridViewの列や行の境界線をマウスでドラッグすることにより、幅や高さを変更できます。これを禁止するには、DataGridViewのAllowUserToResizeColumnsまたはAllowUserToResizeRowsプロパティをFalseにします。
'DataGridView1の列の幅をユーザーが変更できないようにする DataGridView1.AllowUserToResizeColumns = False 'DataGridView1の行の高さをユーザーが変更できないようにする DataGridView1.AllowUserToResizeRows = False
//DataGridView1の列の幅をユーザーが変更できないようにする DataGridView1.AllowUserToResizeColumns = false; //DataGridView1の行の高さをユーザーが変更できないようにする DataGridView1.AllowUserToResizeRows = false;
ただしこのようにしても、DataGridViewColumn.WidthやDataGridViewRow.Heightプロパティにより列の幅や行の高さを変更することはできます。
特定の列の幅をユーザーが変更できないようにするには、その列のDataGridViewColumn.ResizableプロパティにDataGridViewTriState.Falseを設定します。
また、特定の行の高さをユーザーが変更できないようにするには、その行のDataGridViewRow.ResizableプロパティにDataGridViewTriState.Falseを設定します。
'DataGridView1のはじめの列の幅をユーザーが変更できないようにする DataGridView1.Columns(0).Resizable = DataGridViewTriState.False 'DataGridView1のはじめの行の高さをユーザーが変更できないようにする DataGridView1.Rows(0).Resizable = DataGridViewTriState.False
//DataGridView1のはじめの列の幅をユーザーが変更できないようにする DataGridView1.Columns[0].Resizable = DataGridViewTriState.False; //DataGridView1のはじめの行の高さをユーザーが変更できないようにする DataGridView1.Rows[0].Resizable = DataGridViewTriState.False;
ResizableプロパティをDataGridViewTriState.NotSetに設定すると、DataGridViewのAllowUserToResizeColumnsやAllowUserToResizeRowsの値がResizableプロパティに継承されます。例えば、DataGridViewのAllowUserToResizeColumnsがFalseの時にResizableをNotSetに設定すると、ResizableはFalseになります。
ResizableプロパティがDataGridViewのAllowUserToResizeColumnsやAllowUserToResizeRowsの値を継承しているか調べるには、Stateプロパティを参照します。Stateプロパティの値にResizableSetが含まれていれば、継承していません(つまり、ResizableプロパティにTrueまたはFalseが設定されています)。
DataGridViewColumn.MinimumWidthとDataGridViewRow.MinimumHeightプロパティにより、列の幅と行の高さの最小値を指定することができます。最小値を指定すると、ユーザーは列の幅や行の高さをそれ以下にすることができなくなります。また、列のWidthや行のHeightプロパティでもこれ以下にできなくなります(それ以下の値を設定すると、最小値と同じ値になります)。
'一番はじめの列の幅の最小を100ピクセルとする DataGridView1.Columns(0).MinimumWidth = 100 '一番はじめの行の高さの最小を50ピクセルとする DataGridView1.Rows(0).MinimumHeight = 50
//一番はじめの列の幅の最小を100ピクセルとする DataGridView1.Columns[0].MinimumWidth = 100; //一番はじめの行の高さの最小を50ピクセルとする DataGridView1.Rows[0].MinimumHeight = 50;
列ヘッダーの高さを変更できないようにするには、DataGridViewオブジェクトのColumnHeadersHeightSizeModeプロパティをDataGridViewColumnHeadersHeightSizeMode.DisableResizingに設定します。
行ヘッダーの幅はデフォルトでは変更できないようになっていますが、変更できるようにするには、DataGridViewオブジェクトのRowHeadersWidthSizeModeプロパティをDataGridViewRowHeadersWidthSizeMode.EnableResizingに設定します。
'列ヘッダーの高さを変更できないようにする DataGridView1.ColumnHeadersHeightSizeMode = _ DataGridViewColumnHeadersHeightSizeMode.DisableResizing '行ヘッダーの幅を変更できるようにする DataGridView1.RowHeadersWidthSizeMode = _ DataGridViewRowHeadersWidthSizeMode.EnableResizing
//列ヘッダーの高さを変更できないようにする DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; //行ヘッダーの幅を変更できるようにする DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing;
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。