在表单上找到按钮ID时执行动态按钮单击

时间:2016-09-02 10:18:30

标签: c# winforms button panels

我在每个产品的表单上动态创建一个按钮,如下所示:

Button btnStore = new Button();
btnStore.Text = "Store";
btnStore.Height = 30;
btnStore.Width = 80;
btnStore.Name = "btnStoreCV" + name + row[7].ToString();
btnStore.Location = new Point(ptX + 750, ptY);
btnStore.Click +=btnStore_Click;
btnStore.Visible = false;
pt.Controls.Add(btnStore);

然后在另一个按钮上单击我在表单中搜索所有产品按钮,如果找到它,我希望它执行该按钮的点击事件。

这是我迄今为止所做的,但它不起作用:

private void btnSaveCounts_Click(object sender, EventArgs e)
{
    foreach (Panel p in pnls)
    {
       IEnumerable<Button> Buttons = p.Controls.OfType<Button>();
       foreach (Button Button in Buttons)
       {
            if(Button.Name.Contains("CV"))
            {
               MessageBox.Show("YES");
            }
       }
    }
}

我也试过这个:

private void btnSaveCounts_Click(object sender, EventArgs e)
{
    foreach (Panel p in pnls)
    {
         IEnumerable<Button> Buttons = p.Controls.OfType<Button>();
         foreach (Button Button in Buttons)
         {
             if(Button.Name.Contains("CV"))
             {
                Button.Click += Button_Click;
                Button.PerformClick();
                //MessageBox.Show("YES");
             }
         }
    }
}

void Button_Click(object sender, EventArgs e)
{
   StoreNumbers(0, sender);
}

有没有办法执行按钮的点击事件。

0 个答案:

没有答案