C#:处理 Class 中的事件

C#: Handling Events inside a Class

所以我正在为我的编程 II class 制作游戏(特别是《炉石传说》),因为我没有更好的主意。在我尝试的过程中,我意识到创建 Card 接口比我想象的要难得多。 Card 接口扩展 PictureBox class 如下:

Card : System.Windows.Form.PictureBox

现在,我要做的是为鼠标单击和释放 PictureBox 时创建一个事件。我知道创建事件的方式需要对象发送者和 EventArgs e,但我不确定如何让它处理实际事件。比如我写代码的时候

static void Play(object sender, EventArgs e){}

我希望让它处理 PictureBox 的 OnMouseUp 事件,但我不知道它要处理什么对象。我搜索了它,但要么我使用了错误的关键字而没有找到正确的东西,要么它还没有成为 post。这是我现在拥有的,我不确定它是否有效;我还没有真正去测试它,因为这个寒假我不在计算机化区域:

static void Play(object sender, EventArgs e) handles Card.OnMouseUp {}

其中 Card 扩展了 PictureBox。我想用

handles sender.OnMouseUp

但我意识到它不起作用,因为发件人是一个参数(或者它会)。无论如何,感谢您抽出宝贵的时间来看这篇文章,我希望你们能解决我的问题。

将此功能添加到您的卡片中class。每当调用 mouse up 时,它也会调用你的函数。

protected override void OnMouseUp(MouseEventArgs e)
        {
            base.OnMouseUp(e);
            Play(this, e);
        }