winforms 是否有通用的WindowsFormApp事件侦听器?

svujldwt  于 2022-11-16  发布在  Windows
关注(0)|答案(2)|浏览(174)

是否有任何WindowsFormApp侦听器方法可以自动监视来自子元素的事件?单击按钮、打开列表等,而每个都没有自己的方法?
我正在尝试自动执行绑定到WindowsFormApp组件的事件进程。示例:这里有10个按钮,我想用一个方法来监视这10个按钮的操作或任何其他包含的元素。我已经尝试了设置处理程序中提到的手动方法。我想知道是否有一种自动化的方法,即WindowsFormApp的某种方法能够识别这些事件。
我等待答复。
谢谢你,谢谢你

a5g8bdjr

a5g8bdjr1#

一切都很顺利!
我应用了以下代码片段来定义具有此操作的任何元素的Click事件。

foreach (Control grandChild in this.Controls) grandChild.Click += new System.EventHandler(this.Handle_events);

    private void Handle_events(object sender, EventArgs e)
        {
          Console.WriteLine(sender);

        }
izj3ouym

izj3ouym2#

您可以动态添加事件处理程序,以确保它们对于所有子级都相同。

Panel p = new();
Button a = new();
Button b = new();

p.Controls.Add(a);
p.Controls.Add(b);
foreach (Button button in p.Controls) button.Click += Button_Click;

void Button_Click(object sender, EventArgs e)
{
   ((Button)sender).Text = "I was clicked";
}

相关问题