同时向两个事件添加方法

本文关键字:两个 事件 添加 方法 | 更新日期: 2023-09-27 18:28:22

我制作了一个自定义按钮,每当我添加Click事件时,我都需要添加PreviewKeyDown事件。到目前为止,我得到的是:

public new event EventHandler Click { 
    add { 
        base.Click += value; 
        foreach (Control i in Controls) { 
            i.Click += value; 
        } 
    } 
    remove { 
        base.Click -= value; 
        foreach (Control i in Controls) { 
            i.Click -= value; 
        } 
    } 
} 

这将click事件添加到所有内容中,但我需要在winforms中同时向click事件和PreviewKeyDown事件添加一个方法。它是一个自定义按钮,所以当有人点击进入时,它可以执行一种方法

如果有什么不清楚的地方,只需评论和不清楚

同时向两个事件添加方法

完成代码:

public new event EventHandler Click {
add {
base.Click += value;
base.PreviewKeyDown += new PreviewKeyDownEventHandler(value);
foreach (Control i in Controls) {
i.Click += value;
i.PreviewKeyDown += new PreviewKeyDownEventHandler(value);
}
}
remove {
//same code with -= instead of +=, but the previewkeydown event is excluded because i couldnt find a way to remove it.
}
}