C#从子表单复制或访问二维数组

时间:2011-04-01 13:16:28

标签: c# forms parent-child multidimensional-array

我在设计器中创建了两个表单,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];
...

提前致谢!

3 个答案:

答案 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 };