根据窗体所包含的datagridview的大小调整窗体大小

时间:2013-01-17 17:14:22

标签: c# forms datagridview

我的datagridview已连接到数据源:

this.dataGridView1.DataSource = mydatatable;

我想将此数据呈现给用户。如果它有超过X行,那么它将有一个垂直滚动条。

将其放在表单中看起来不太好,因为表单的大小可能大于数据表的大小。我尝试根据datagridview的大小手动调整表单大小,如下所示:

this.Size = dataGridView1.Size;

但它不起作用(如果datagridview较小,则不会使表单变小。如果它大于覆盖其中的一些)。也许有一种方法可以在不通过表格的情况下呈现表格?或者有没有办法正确调整大小?

我尝试了以下内容(回答答案):

this.dataGridView1.DataSource = competingCourses; 
this.dataGridView1.RightToLeft = RightToLeft.Yes;
this.dataGridView1.AutoSizeColumnsMode = dataGridViewAutoSizeColumnsMode.AllCells; 

我也有:

this.AutoSize=true; 
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; 

它仍然不会改变包含表格的大小。

2 个答案:

答案 0 :(得分:0)

尝试从DataGridView的高度和宽度构造一个新的Size对象,然后将其分配给表单大小:

Size newSize = new Size(dataGridView1.Width, dataGridView1.Height);
this.Size = newSize;

答案 1 :(得分:0)

您可以在表单上设置Autosize=TrueAutoSizeMode=GrowAndShrink,自动调整表单的大小。