向其他表单动态添加单击事件

本文关键字:单击 事件 添加 动态 其他 表单 | 更新日期: 2023-09-27 18:09:33

我想动态地添加一个点击事件从form1到form2。

这是我的代码在form1:
Form2 frm = new Form2();
string title =(string)listBox1.SelectedItem;
TabPage myTabPage = new TabPage(title);
frm.tabControl1.TabPages.Add(myTabPage);
//create button and it's event
Button button1 = new Button();
button1.Click += new System.EventHandler(button1_Click);
button1.Location = new Point((myTabPage.Width/2)-(button1.Width/2),myTabPage.Height-30);
button1.Text = "Click On Me!";
myTabPage.Controls.Add(button1);
frm.Show();

我得到以下错误:名称'button1_Click'在当前上下文中不存在

请帮。

向其他表单动态添加单击事件

需要创建您的button1_Click事件处理程序。此时,你正在为按钮分配事件处理程序,说"调用button1_Click",但你还没有实际创建你想要调用的"button1_Click"方法。

private void button1_Click(object sender, EventArgs e) 
{
   //code to call when the button is clicked.  
}

从评论中更新。您可以创建一个匿名方法。

button1.Click += (s,e) =>
     { 
         //code to call when the button is clicked. 
     };

您是否可以提前创建按钮并禁用并使其不可见,直到您想要使用它?