C# 如何在自动生成的选项卡上创建DataGridsView

C# 如何在自动生成的选项卡上创建DataGridsView,c#,winforms,datagridview,tabcontrol,C#,Winforms,Datagridview,Tabcontrol,在加载包含许多工作表的excel文件时,我会使用每个工作表的名称,并在tabControl中自动生成选项卡。这很有效。接下来,我很难在每个选项卡上生成一个新的、不同的dataGridView。这是我到目前为止对这部分的代码 foreach (DataRow row in dt1.Rows) { comboBox1.Items.Add(row["TABLE_NAME"].ToString()); tabControl2.TabPages.Add(row["TABLE_NAME"].ToSt

在加载包含许多工作表的excel文件时,我会使用每个工作表的名称,并在tabControl中自动生成选项卡。这很有效。接下来,我很难在每个选项卡上生成一个新的、不同的dataGridView。这是我到目前为止对这部分的代码

foreach (DataRow row in dt1.Rows) {
  comboBox1.Items.Add(row["TABLE_NAME"].ToString());
  tabControl2.TabPages.Add(row["TABLE_NAME"].ToString());

  DataGridView grid = new DataGridView();
  TabPages.Controls.Add(grid);  // red line under TabPages  **********
}

将新选项卡页放在一边,以便向其添加控件:

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

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

哦,我遗漏了创建网格的线。你接受了,所以我猜你已经明白了,但我会编辑来解决这个问题;在选项卡页面上方。谢谢你的帮助。如果您碰巧有一个设置新数据网格视图维度的快速修复方法,这也会很有帮助。我需要知道需要哪些帮助。一般情况下,最好为每个问题创建一个新问题。如果你这样搜索,你会发现一个已经被问过的问题,告诉你如何调整控件的大小。最有可能的做法是新建DataGridView{Dock=DockStyle.Fill};这就是你想要的。或者,您可以将FlowLayoutPanel添加到选项卡页,然后将DataGridView添加到FlowLayoutPanel。