所以我正在为我的编程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
但我意识到它不起作用,因为发送者是一个参数(或者它会)。无论如何,感谢您花时间看这个,我希望你们能解决我的问题。
将此功能添加到您的Card类。每当调用鼠标时,它也会调用你的函数。
protected override void OnMouseUp(MouseEventArgs e)
{
base.OnMouseUp(e);
Play(this, e);
}