C#:处理类中的事件

问题描述 投票:0回答:1

所以我正在为我的编程II课程制作一个游戏(特别是炉石),因为我没有更好的想法。在我的尝试中,我意识到创建卡接口会比我想象的要困难得多。 Card接口扩展了PictureBox类,如下所示:

Card : System.Windows.Form.PictureBox

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

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

我想让它处理PictureBox的OnMouseUp事件,但我不知道它处理什么对象。我搜查了一下,但要么我使用了错误的关键字而没找到正确的事情,要么还没有发布帖子。这就是我现在所拥有的,我不确定它是否有效;我还没有真正去测试它,因为我今年冬天不在电脑区域:

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

卡扩展PictureBox的地方。我想用

handles sender.OnMouseUp

但我意识到它不起作用,因为发送者是一个参数(或者它会)。无论如何,感谢您花时间看这个,我希望你们能解决我的问题。

c# c#-4.0 event-handling mouseevent picturebox
1个回答
0
投票

将此功能添加到您的Card类。每当调用鼠标时,它也会调用你的函数。

protected override void OnMouseUp(MouseEventArgs e)
        {
            base.OnMouseUp(e);
            Play(this, e);
        }
© www.soinside.com 2019 - 2024. All rights reserved.