我正在tray tray将值从表单传递到类,以确定游戏的级别,但是它一直以0值传递。
我需要通过" Nivelelegido"使用值1或2
int nivelElegido;
private void pictureBox1_Click(object sender, EventArgs e)
{
nivelElegido = 1;
Form1 frm = new Form1();
frm.Show();
this.Hide();
}
private void pictureBox2_Click(object sender, EventArgs e)
{
nivelElegido = 2;
Form1 frm = new Form1();
frm.Show();
}
public int niveEle
{
get { return nivelElegido; }
}
我更改值,在其他形式中尝试使用它。
using (var nivelarmando = new NivelArmando())
{
niveleleg = nivelarmando.niveEle;
}
pala.nivo = niveleleg;
pala.Traelo();
pala.traelo
带来了类的数据, pala.nivo
是级别。
public void Traelo()
{
if (nivo==1)
{
}
else if (nivo==2)
{
}
但是nivo
带有0而不是1或2。我该怎么办?
看起来顶部代码来自Nivelarmando类。如果是这样,此代码
using (var nivelarmando = new NivelArmando())
{
niveleleg = nivelarmando.niveEle;
}
正在创建Nivelarmando的新实例,在这种情况下,Nivelelegido 将初始化为0。您修改了其他地方。
您应该在form1上创建一个属性,或将 nivelelegido的值传递给form1的构造函数,然后在 traelo()函数中使用该值。
获取并设置变量。使用变量阅读。nivelelegido
Public Class variables
Public Shared Property nivelElegido() As Integer
Get
Return m_nivelElegido
End Get
Set(value As Integer)
m_nivelElegido = value
End Set
End Property
Private Shared m_nivelElegido As Integer
End Class