C# 设置在新选项卡上生成的数据网格的大小

C# 设置在新选项卡上生成的数据网格的大小,c#,wpf,excel,datagridview,datagrid,C#,Wpf,Excel,Datagridview,Datagrid,选择excel文件时。我为每个excel工作表名称生成了新的选项卡。在每个选项卡上,我还生成了一个新的dataGridView。如何设置自动设置的新dataGridView的维度,而无需在设计视图中实际单击和拖动它们?此代码从excel文件中获取我的工作表名称,使用这些名称创建我的新选项卡,并为每个选项卡创建DataGridView。。。只需要dgv的尺寸要大得多 foreach (DataRow row in dt1.Rows) { string nam

选择excel文件时。我为每个excel工作表名称生成了新的选项卡。在每个选项卡上,我还生成了一个新的dataGridView。如何设置自动设置的新dataGridView的维度,而无需在设计视图中实际单击和拖动它们?此代码从excel文件中获取我的工作表名称,使用这些名称创建我的新选项卡,并为每个选项卡创建DataGridView。。。只需要dgv的尺寸要大得多

foreach (DataRow row in dt1.Rows)
        {
            string name = row["TABLE_NAME"].ToString();
            var tabPage = new TabPage(name);
            DataGridView grid = new DataGridView();

            tabPage.Controls.Add(grid);
            comboBox1.Items.Add(name);
            tabControl2.TabPages.Add(tabPage);
        }

如果只希望DataGridView占用所有可用空间,可以使用DockStyle.Fill初始化DataGridView的Dock属性:

foreach (DataRow row in dt1.Rows)
{
    string name = row["TABLE_NAME"].ToString();
    var tabPage = new TabPage(name);
    DataGridView grid = new DataGridView {
        Dock = DockStyle.Fill
    };

    tabPage.Controls.Add(grid);
    comboBox1.Items.Add(name);
    tabControl2.TabPages.Add(tabPage);
}
设置DockStyle.Fill可确保DataGridView的边缘停靠到其包含控件的边缘,并且大小正确

或者,您可以选择自己设置位置和大小:

grid.Location = new Point(500, 500);
gird.Size = new Size(500, 500);