我Block
从类继承了一个System.Windows.Forms.Panel
类。My Block 具有三个属性(在 Panel 的属性之上):
Point[] Path
int speed
Panel Target
块获得颜色和大小,并将以给定的速度永远循环通过路径。Block 还有一个this.LocationChanged += TargetHit;
如下所示的事件:
private void TargetHit(object sender, EventArgs e)
{
if (this.OverlapsTarget()) // returns true if this and this.Target overlap
{
this.Parent.EndGame(); // Tell parent Form/Panel to end the game
}
}
显然调用this.Parent.EndGame();
不起作用,因为Control
对象没有EndGame
方法。我怎么能告诉父窗体/面板调用它的一个方法,或者只是如何告诉父级this
刚刚击中它的目标(在这种情况下,目标只是父级控件中的另一个面板)并且应该在父母?