我Block从类继承了一个System.Windows.Forms.Panel类。My Block 具有三个属性(在 Panel 的属性之上):
Point[] Pathint speedPanel 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刚刚击中它的目标(在这种情况下,目标只是父级控件中的另一个面板)并且应该在父母?