我尝试以另一种形式获取ComboBox
的值,但是我什么也没有。
当我在MessageBox
上使用Form1
并具有选定的值时,我确实得到了以前的值。
在Form2
上尝试时,我得到一个空白的MessageBox
,因此无法使用“ IF”语句获取所需的数据。
Form1:
namespace ScoreDuizenden
{
public partial class AantalSpelers : Form
{
public AantalSpelers()
{
InitializeComponent();
}
public string si;
public void AantalSpelers_Load(object sender, EventArgs e)
{
NaamSpelers ns = new NaamSpelers();
cbAantalSpelers.Items.Add("2");
cbAantalSpelers.Items.Add("3");
cbAantalSpelers.Items.Add("4");
}
public void btnDoorgaan_Click(object sender, EventArgs e)
{
si = cbAantalSpelers.Text;
NaamSpelers ns = new NaamSpelers();
ns.Show();
this.Hide();
}
}
}
Form2:
namespace ScoreDuizenden
{
public partial class NaamSpelers : Form
{
public NaamSpelers()
{
InitializeComponent();
}
AantalSpelers asp = new AantalSpelers();
private void NaamSpelers_Load(object sender, EventArgs e)
{
if (asp.cbAantalSpelers.Text == "2")
{
label3.Hide();
label4.Hide();
txtNaam3.Hide();
txtNaam4.Hide();
btnAsDoorgaan.Location = new Point(16, 62);
this.Size = new Size(198, 130);
}
if (asp.cbAantalSpelers.Text == "3")
{
label4.Hide();
txtNaam4.Hide();
btnAsDoorgaan.Location = new Point(16, 88);
this.Size = new Size(198, 157);
}
}
private void NaamSpelers_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
private void btnAsDoorgaan_Click(object sender, EventArgs e)
{
MessageBox.Show(asp.si);
}
}
}
希望您能帮我解决我做错的事情。
答案 0 :(得分:-1)
请参见下面的代码
表格1:
namespace ScoreDuizenden
{
public partial class AantalSpelers : Form
{
public AantalSpelers()
{
InitializeComponent();
}
public string si;
public void AantalSpelers_Load(object sender, EventArgs e)
{
NaamSpelers ns = new NaamSpelers();
cbAantalSpelers.Items.Add("2");
cbAantalSpelers.Items.Add("3");
cbAantalSpelers.Items.Add("4");
}
public void btnDoorgaan_Click(object sender, EventArgs e)
{
si = cbAantalSpelers.Text;
NaamSpelers ns = new NaamSpelers(si); // passing value to form through constructor
ns.Show();
this.Hide();
}
}
}
表格2:
namespace ScoreDuizenden
{
public partial class NaamSpelers : Form
{
private string cbAntalSpelers = string.Empty; // class level field to store combo value
public NaamSpelers(string cboValue) // combo value need to be passed to this form whenever a new instance is created
{
InitializeComponent();
this.cbAntalSpelers = cboValue;
}
....
}
}