Kar*_*ski 6 c# click event-handling dynamic-usercontrols winforms
我的usercontrols中有不同的控件.并在我的表单中动态加载用户控件
UserControl2 usercontrol = new UserControl2();
usercontrol.Tag = i;
usercontrol.Click += usercontrol_Click;
flowLayoutPanel1.Controls.Add(usercontrol);
private void usercontrol_Click(object sender, EventArgs e)
{
// handle event
}
Run Code Online (Sandbox Code Playgroud)
单击usercontrol中的控件时,不会触发click事件.它只在我点击usercontrol的空白区域时触发.
Idl*_*ind 12
递归所有控件并将每个控件的Click()事件连接到同一个处理程序.从那里调用InvokeOnClick().现在单击任何内容将触发主UserControl的Click()事件:
public partial class UserControl2 : UserControl
{
public UserControl2()
{
InitializeComponent();
WireAllControls(this);
}
private void WireAllControls(Control cont)
{
foreach (Control ctl in cont.Controls)
{
ctl.Click += ctl_Click;
if (ctl.HasChildren)
{
WireAllControls(ctl);
}
}
}
private void ctl_Click(object sender, EventArgs e)
{
this.InvokeOnClick(this, EventArgs.Empty);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10277 次 |
| 最近记录: |