我在运行时设置它们,我有点担心这最终会使我的应用程序陷入困境。
有没有更好的办法?
public MainForm()
{
InitializeComponent();
SetPictureBoxEvents();
}
private void SetPictureBoxEvents()
{
Andromeda.MouseEnter += new EventHandler(HeroMouseEnter);
Andromeda.MouseLeave += new EventHandler(HeroMouseLeave);
Engineer.MouseEnter += new EventHandler(HeroMouseEnter);
Engineer.MouseLeave += new EventHandler(HeroMouseLeave);
Nighthound.MouseEnter += new EventHandler(HeroMouseEnter);
Swiftblade.MouseEnter += new EventHandler(HeroMouseEnter);
}
最佳答案
我不明白为什么这会使您的应用程序陷入困境,因为它们无论如何都是在运行时设置的(作为 InitializeComponent 的一部分,如果您使用设计器连接它)。您只需在它们设置好后进行更改。
此外,您可以从每个中删除“新事件处理程序”部分:
//like this
Andromeda.MouseEnter += HeroMouseEnter;
关于c# - 这是我为控件设置事件的最佳方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1904475/