大家好 有一个表单是继承自其他表单的,我为Click事件签署了这个表单,但它不能用于子控件,只能用于表单本身。在我看来,有必要注册一些属性。请告诉我
在Windows窗体中,包含的控件不会继承容器控件的注册事件,你需要为你想要的控件注册事件。
你可以在所有的控件中循环注册你想要的事件。
foreach (Control control in this.Controls)
{
control.Click += myForm_Click;
}
你需要分别订阅控件的事件,你可以用下面的代码示例为每一个子控件递归地做这件事。
void SubscribeToControlsEventsRecursive(ControlCollection collection)
{
foreach (Control c in collection)
{
c.MouseClick += (sender, e) => {/* handle the click here */});
SubscribeToControlsEventsRecursive(c.Controls);
}
}