我在Form1
中有一个我需要在Form2
中使用的int数组。但是当我尝试在Form2
中使用数组值时,它会给我零。
private void button1_Click(object sender, EventArgs e)
{
frm1 = new Form1();
for (int i = 0; i < 26; i++)
{
label1.Text += frm1.theCode[i];
}
}
http://i59.tinypic.com/b4cf2b.png http://i59.tinypic.com/b4cf2b.png
但是当我在Form1中尝试相同的东西时,它的效果很棒!
private void button5_Click(object sender, EventArgs e)
{
frm2 = new Form2();
for (int i = 0; i < 26; i++) frm2.label1.Text += theCode[i]+ " ";
frm2.Show();
}
http://i59.tinypic.com/jujthi.png http://i59.tinypic.com/jujthi.png
但我仍然需要在Form2
中使用数组,而不是Form1
答案 0 :(得分:0)
在Form1
中,您必须将int数组声明为静态字段和public,以便从另一个表单访问它。
这就是您在theCode
Form1
的方式
public static int[] theCode; // should be public and static
这就是你在Form2
private void button1_Click(object sender, EventArgs e)
{
// no need to create new instance of Form1.
for (int i = 0; i < 26; i++)
{
label1.Text += Form1.theCode[i]; // use the static field
}
}