c# winform 动态添加多个之定义控件,怎么可以访问某一个控件的事件呢
for (int i = 0; i < 5; i++)
{
Control.Refueller r1 = new Control.Refueller();
r1.Name = "jy"+i;
r1.Size = new Size(220, 281);
//r1.ResetText = "123123123123";
r1.Location = new Point(220*i, 0);
r1.Show();
panel1.Controls.Add(r1);
}
r1.Click += new EventHandler(r1click);
void r1click(object snd, EventArgs eag)
{
...
}
【以下回答由 GPT 生成】
问题解答:
要访问动态添加的自定义控件的事件,可以采用以下步骤:
Refueller
,声明一个名为ButtonClick
的事件:public event EventHandler ButtonClick;
button1
的按钮,当点击它时触发事件:private void button1_Click(object sender, EventArgs e)
{
ButtonClick?.Invoke(this, e);
}
Refueller
控件的ButtonClick
事件,然后执行相应的操作。在主窗体的构造函数中添加以下代码:for (int i = 0; i < 5; i++)
{
Control.Refueller r1 = new Control.Refueller();
r1.Name = "jy" + i;
r1.Size = new Size(220, 281);
r1.Location = new Point(220 * i, 0);
r1.ButtonClick += R1_ButtonClick; // 订阅事件
r1.Show();
panel1.Controls.Add(r1);
}
// 事件处理程序
private void R1_ButtonClick(object sender, EventArgs e)
{
// 在这里执行相应的操作
}
现在,当你点击Refueller
控件中的按钮时,会触发ButtonClick
事件,并在主窗体中执行相应的操作。通过将事件订阅到主窗体,你就可以访问其中一个控件的事件。
【相关推荐】