我正在制作一个自定义按钮(Winforms 控件库)并具有下面的代码,以便将所有 mouseenter 添加到我的按钮中的所有控件中。当我运行它时,它会导致堆栈溢出异常。我用 Click 而不是 MouseEnter 有相同的代码,它工作正常。这是代码:
public new event EventHandler MouseEnter {
add
{
this.MouseEnter += value;
foreach (Control i in Controls)
{
i.MouseEnter += value;
}
}
remove
{
this.MouseEnter -= value;
foreach (Control i in Controls)
{
i.MouseEnter -= value;
}
}
}
这是点击代码:
public new event EventHandler Click {
add {
this.Click += value;
foreach (Control i in Controls) {
i.Click += value;
}
}
remove {
this.Click -= value;
foreach (Control i in Controls) {
i.Click -= value;
}
}
}