我正在制作一个XNA游戏,我对事件的约定有疑问。 我制作了一个带按钮的菜单,这些按钮有三个事件:onClick,onMouseEnter和onMouseLeave。
Atm我的代码如下:
public static void PlayonClick(Button sender, EventArgs args)
{
}
public static void PlayonMouseEnter(Button sender, EventArgs args)
{
}
public static void PlayonMouseLeave(Button sender, EventArgs args)
{
}
此代码将重复菜单中的每个按钮。 现在我认为如果有1个事件并且eventargs将包含发生的事情会更好(onClick,onMouseLeave,onMouseEnter)
注意:onMouseEnter和onMouseLeave对于每个按钮都是相同的。所以我想将所有事件订阅到1方法
那么,他们最好的方法是什么?
答案 0 :(得分:0)
假设您在代码中附加处理程序:
button.onClick += PlayonEvent;
button.onMouseEnter += PlayonEvent;
button.onMouseLeave += PlayonEvent;
如果在XAML中附加,则执行相同的操作,这只是说所有事件都由同一个处理程序处理。无论哪种方式,定义这样的处理程序,如:
public static void PlayonEvent(Button sender, EventArgs args)
{
// do something based on EventArgs, which can give you an idea of what's going on
}