単一の DGV がフォームの中央にスナップされたフォームがあります。
DGV 内のフィールドの合計幅に応じて、DGV に対応するためにフォームの幅を (最大制限まで) 自動的に調整するように設定することは可能ですか?
この投稿と同様の方法論を使用する必要がありますか?それとも、コントロール プロパティを使用して「すぐに使える」可能性はありますか?
単一の DGV がフォームの中央にスナップされたフォームがあります。
DGV 内のフィールドの合計幅に応じて、DGV に対応するためにフォームの幅を (最大制限まで) 自動的に調整するように設定することは可能ですか?
この投稿と同様の方法論を使用する必要がありますか?それとも、コントロール プロパティを使用して「すぐに使える」可能性はありますか?
編集:
public Form1()
{
InitializeComponent();
dataGridView1.AutoSize = true;
dataGridView1.SizeChanged += new EventHandler(dataGridView1_SizeChanged);
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
}
void dataGridView1_SizeChanged(object sender, EventArgs e)
{
Width = dataGridView1.Width + 10;
}
'AutoSizeColumnsMode'および'AutoSizeRowsMode'プロパティを'AllCells'に設定することにより、DataGridViewをその内容に合うサイズに設定できます。
dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
dataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
ここから、コントロールのサイズでフォームのサイズを設定することにより、DataGridViewに合うようにフォームのサイズを変更できます。
this.Height = dataGridView.Height;
this.Width = dataGridView.Width;
したがって、「ColumnWidthChanged」イベントを処理することで(幅のみを気にするため)、コンテンツがDataGridViewに追加または削除されたかどうかを確認し、そのハンドラーでフォームのサイズ変更を行うことができると思います。