Когда я помещаю вид сетки данных в форме, с Dock = DockStyle.Fill
, я могу сжать форму до менее чем одной строки, оставшейся до появления каких-либо проблем с сетью данных просмотрите полосу прокрутки. Однако, если я поместил его в панель макета таблицы, которая, в свою очередь, состыковалась с формой, вид сетки данных начинает действовать так, как будто он имеет минимальную высоту, отсекая нижние строки и нижнюю часть полосы прокрутки.DataGridView действует так, как будто он имеет минимальный размер внутри TableLayoutPanel
public Form1()
{
InitializeComponent();
BindingList<Widget> list = new BindingList<Widget>();
dataGridView1.DataSource = list;
for (int i = 0; i < 100; i++)
{
list.Add(new Widget { MyProperty = i });
}
}
private void InitializeComponent()
{
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.Controls.Add(this.dataGridView1, 0, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
//
// dataGridView1
//
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
//
// Form1
//
this.ClientSize = new System.Drawing.Size(976, 518);
this.Controls.Add(this.tableLayoutPanel1);
this.tableLayoutPanel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
}
Я попытался добавить this.tableLayoutPanel1.AutoScroll = true;
, который показал, что это сетка данных, которые не изменение размера, бар панель прокрутки был правильно установлен и не отрезать.
Подобные вопросы без ответа, который работал для меня:
- flowlayout panel not shrinking when parent form size is changed
- Winforms DataGridView resizing issue
Вы можете увидеть скриншот этой ошибки? Я скопировал ваш точный код и, похоже, работает нормально. – OhBeWise
Добавлен снимок экрана. –
Вы должны изменить размер окна, чтобы увидеть проблему. –