C# 未创建DataGridView

C# 未创建DataGridView,c#,winforms,visual-studio-2010,datagridview,mouseclick-event,C#,Winforms,Visual Studio 2010,Datagridview,Mouseclick Event,我有一个分配了clickevent的datagridview。此datagridview位于选项卡页上。当用户单击datagridview时,我希望在其下方创建第二个datagridview。这是单击事件的代码。唯一正常工作的行是Console.WriteLine(“dataGridView1已单击”)行。其他一切都被忽略了 void dataGridView1_Click(object sender, EventArgs e) { DataGridView dataGridView1

我有一个分配了clickevent的datagridview。此datagridview位于选项卡页上。当用户单击datagridview时,我希望在其下方创建第二个datagridview。这是单击事件的代码。唯一正常工作的行是Console.WriteLine(“dataGridView1已单击”)行。其他一切都被忽略了

void dataGridView1_Click(object sender, EventArgs e)
{
    DataGridView dataGridView1 = new DataGridView();
    dataGridView1.ColumnCount = 6;

    DataGridViewColumn column1 = new DataGridViewColumn();
    column1 = dataGridView1.Columns[0];
    dataGridView1.Columns[0].HeaderText = "column";

    tabPage.Controls.Add(dataGridView1);

    Console.WriteLine("dataGridView1 Clicked");
}

它可以在当前DataGridView下或表单中的某些元素下创建。在您希望添加DataGridView的布局中添加一个面板,并尝试将其添加到该面板中,该面板应该可以工作

将面板从工具箱拖放到窗体上,然后在dataGridView1_Click事件中,将控件添加到面板

panel1.Controls.Add(dataGridView2);

提示:这是VS在拖放DGV时使用的代码(根据需要进行调整)


我不知道你为什么要手动创建列。当您绑定时,将从数据源自动为您创建列。

我希望在其下方创建第二个datagridview我可能错了,但我希望看到一个
dataGridView1.Top=((datagridview)sender)。Height
在我编辑过您的标题的地方。请参阅“”,其中的共识是“不,他们不应该”。
DataGridView dataGridView1 = new System.Windows.Forms.DataGridView();
            ((System.ComponentModel.ISupportInitialize)(dataGridView1)).BeginInit();
            //this.SuspendLayout();
            dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            dataGridView1.Location = new System.Drawing.Point(0, 0);
            dataGridView1.Name = "dataGridView1";
            dataGridView1.Size = new System.Drawing.Size(240, 150);
            dataGridView1.TabIndex = 0;
            Controls.Add(dataGridView1);