C# 从子窗体复制或访问二维数组
我在设计器中创建了两个表单,formA和formB,一个是默认的父表单,后者是修改后的“关于框”。我需要知道从 formA 获取二维数组的数据到 formB 的最佳方法,但到目前为止,只有当 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];
...
提前致谢!
I have created two forms in the designer, formA and formB, one is a default parent form and the latter is a modified "about box". I need to know the best way to get data of a two dimensional array to formB from formA, but so far I've only got it to "work" when formA was inadvertently opened a second time alongside formB.
Basic code at the moment is:
// 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];
...
Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
对我来说最简单的方法是更改子表单 (FormB) 构造函数以接受 String 数组作为参数:
并且当您创建 FormB 实例时:
The easiest way for me is to change the child form (FormB) constructor to accept an array of String as parameter :
and when you create your instance of FormB :
在
FormB
上创建一个公共属性,显示 Then 时设置它
然后在 FormB 中
make a public property on
FormB
Then set it when you display
Then in FormB
可能是最简单的是将其作为
formb
的属性公开:在创建实例之后立即设置它:
Probably the easiest would be to expose it as a property in
FormB
like so:And set it right after you create the instance: