我有一個形式與一個單一的DGV對齊窗體的中心。WinForm的寬度可以自動調整到DataGridView的總寬度嗎?
是否可以將窗體設置爲自動調整寬度(達到最大限制)以適應DGV - 取決於DGV中字段的總寬度。
我是否需要使用與this post類似的方法,或者使用控件屬性可以「開箱即用」嗎?
我有一個形式與一個單一的DGV對齊窗體的中心。WinForm的寬度可以自動調整到DataGridView的總寬度嗎?
是否可以將窗體設置爲自動調整寬度(達到最大限制)以適應DGV - 取決於DGV中字段的總寬度。
我是否需要使用與this post類似的方法,或者使用控件屬性可以「開箱即用」嗎?
編輯:
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;
}
您可以設置DataGridView的大小適合它由「AutoSizeColumnsMode」和「AutoSizeRowsMode」屬性設置爲「ALLCELLS」的內容:
dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
dataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
從這裏,你可以調整你的形式通過,以適應在DataGridView設置窗體的大小與控件的大小:
this.Height = dataGridView.Height;
this.Width = dataGridView.Width;
所以我想你可以檢查是否被處理「ColumnWidthChanged」事件(因爲你只關心寬度)添加或移除內容到DataGridView ,並調整窗體大小在那個處理程序。
是否使用一個簡單的形式或MDI容器? – SoEnLion
WPF可以自動完成這樣的事情。 –
如果停靠DGV,則可以使用Form.AutoSize和AutoSizeMode屬性使窗體自動調整到網格的大小。調整網格的大小是另一回事。 –