C# 根据表单包含的datagridview的大小调整表单大小
my datagridview已连接到数据源:C# 根据表单包含的datagridview的大小调整表单大小,c#,forms,datagridview,C#,Forms,Datagridview,my datagridview已连接到数据源: this.dataGridView1.DataSource = mydatatable; 我想向用户展示这些数据。如果它有超过X行,那么它将有一个垂直滚动条 将其放在表单中看起来不太好,因为表单的大小可能大于数据表的大小。我尝试根据datagridview的大小手动调整表单大小,如下所示: this.Size = dataGridView1.Size; 但是它不起作用(如果datagridview较小,它不会使表单变小。如果它大于它所覆盖的部分
this.dataGridView1.DataSource = mydatatable;
我想向用户展示这些数据。如果它有超过X行,那么它将有一个垂直滚动条
将其放在表单中看起来不太好,因为表单的大小可能大于数据表的大小。我尝试根据datagridview的大小手动调整表单大小,如下所示:
this.Size = dataGridView1.Size;
但是它不起作用(如果datagridview较小,它不会使表单变小。如果它大于它所覆盖的部分)。也许有一种不用填写表格就能展示桌子的方法?或者有没有办法正确调整它的大小
我尝试了以下方法(作为对答案的回应):
我还有:
this.AutoSize=true;
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
它仍然不会更改包含表单的大小。尝试从DataGridView的高度和宽度构造一个新的
size
对象,然后将其指定给表单大小:
Size newSize = new Size(dataGridView1.Width, dataGridView1.Height);
this.Size = newSize;
您可以根据表单内容自动调整表单大小,方法是在表单上设置
Autosize=True
和AutoSizeMode=growthandshrink
。您是否尝试过dataGridView1.Height
?this.dataGridView1.DataSource=competingCourses;this.dataGridView1.RightToLeft=RightToLeft.Yes;this.dataGridView1.AutoSizeColumnsMode=dataGridViewAutoSizeColumnsMode.AllCells;在上面添加您的建议后,我还有:this.AutoSize=true;this.AutoSizeMode=System.Windows.Forms.AutoSizeMode.growtandshrink;它仍然不会更改包含表单的大小。@user1743977您有权编辑您的问题,我们鼓励您这样做。您在评论中给出的代码应该添加到问题中。我在这里为你做的。
Size newSize = new Size(dataGridView1.Width, dataGridView1.Height);
this.Size = newSize;