gpt4 book ai didi

c# - 如何从另一种方法访问我的控件

转载 作者:太空宇宙 更新时间:2023-11-03 16:14:19 26 4
gpt4 key购买 nike

我正在制作太空入侵者,我希望我的子弹从我的大炮所在的位置射出。当我按下空格键时,一颗子弹会发射,但我需要它能够在我每次按下空格键时访问我的 cannonX 的位置,但它不允许我访问它的信息。

    public void tsbtnStart_Click(object sender, EventArgs e)
{

// Make invader

Invader invaderX = new Invader();
pnlBattleField.Controls.Add(invaderX);

// Mke UFO

Ufo ufoX = new Ufo();
pnlBattleField.Controls.Add(ufoX);


// Make cannon
Cannon cannonX = new Cannon(this.pnlBattleField.Height - 80);

if (made == false)
{
pnlBattleField.Controls.Add(cannonX);
made = true;

}
Point location = cannonX.PointToScreen(Point.Empty);


tmrClock.Interval = 200;
tmrClock.Start();
tmrClock2.Interval = 100;
tmrClock2.Start();
}

public void Form1_KeyPress(object sender, KeyPressEventArgs e)
{

if (e.KeyChar == (char)Keys.Space)
{

Bullet bulletX = new Bullet(this.pnlBattleField.Height - 80, location.x );
// "location does not exist in current context

pnlBattleField.Controls.Add(bulletX);
}

}

最佳答案

locationcannonXtsbtnStart_Click 中的局部变量,因此一旦 tsbtnStart_Click 返回它们就不再存在。使它们成为您的类的属性,以便它们在 Form1_KeyPress 和其他方法中持久存在并可访问。

关于c# - 如何从另一种方法访问我的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16174936/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com