点击Windows表格

问题描述 投票:0回答:1

大家好 有一个表单是继承自其他表单的,我为Click事件签署了这个表单,但它不能用于子控件,只能用于表单本身。在我看来,有必要注册一些属性。请告诉我

c# winforms
1个回答
1
投票

在Windows窗体中,包含的控件不会继承容器控件的注册事件,你需要为你想要的控件注册事件。

你可以在所有的控件中循环注册你想要的事件。

foreach (Control control in this.Controls)
{
    control.Click += myForm_Click;
}

0
投票

你需要分别订阅控件的事件,你可以用下面的代码示例为每一个子控件递归地做这件事。

void SubscribeToControlsEventsRecursive(ControlCollection collection)
 { 
    foreach (Control c in collection)  
     {  
       c.MouseClick += (sender, e) => {/* handle the click here  */});  
       SubscribeToControlsEventsRecursive(c.Controls);
     }
 }
© www.soinside.com 2019 - 2024. All rights reserved.