我在设计器中创建了两个表单,formA和formB,一个是默认的父表单,后一个是修改后的“about box”。我需要知道从formA获取二维数组的形式B的最佳方法,但到目前为止,当formA无意中与formB一起打开时,我只能“工作”。
目前的基本代码是:
// Form A (onload)
public string[,] arrayname = new string[5, 2] { some values };
// Form A (onevent)
formB f2 = new formB(arrayname);
f2.Show();
// Form B (onload)
???
label1.Text = arrayname[0, 0];
label2.Text = arrayname[0, 1];
label3.Text = arrayname[1, 0];
...
提前致谢!
答案 0 :(得分:2)
对我来说最简单的方法是将子窗体(FormB)构造函数更改为接受一个String数组作为参数:
private string[,] arrayname;
public FormB(string[,] _arrayname)
{
this.arrayname = _arrayname;
}
当您创建FormB的实例时:
formB f2 = new formB(arrayname);
f2.Show();
答案 1 :(得分:1)
在FormB
public string [,] SomeArray {get;set;}
然后在显示时设置
FormB f = new FormB();
f.SomeArray = this.arrayname;
f.Show();
然后在FormB
this.label1.Text = this.SomeArray[0,0];
答案 2 :(得分:0)
最简单的可能是将其作为FormB
中的属性公开,如下所示:
public string[,] Hours { get; set; }
在创建实例后立即设置:
FormB myFormB = new FormB();
myFormB.ArrayName = new string[5, 2] { some values };