活动大会

时间:2012-10-09 16:36:21

标签: c# events xna convention

我正在制作一个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方法

那么,他们最好的方法是什么?

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
}