C# 从子窗体复制或访问二维数组

发布于 2024-10-29 06:03:39 字数 462 浏览 2 评论 0原文

我在设计器中创建了两个表单,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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

离去的眼神 2024-11-05 06:03:39

对我来说最简单的方法是更改​​子表单 (FormB) 构造函数以接受 String 数组作为参数:

private string[,] arrayname;
public FormB(string[,] _arrayname)
{
this.arrayname = _arrayname;
}

并且当您创建 FormB 实例时:

formB f2 = new formB(arrayname);
f2.Show();

The easiest way for me is to change the child form (FormB) constructor to accept an array of String as parameter :

private string[,] arrayname;
public FormB(string[,] _arrayname)
{
this.arrayname = _arrayname;
}

and when you create your instance of FormB :

formB f2 = new formB(arrayname);
f2.Show();
对风讲故事 2024-11-05 06:03:39

FormB 上创建一个公共属性,

public string [,] SomeArray {get;set;}

显示 Then 时设置它

FormB f = new FormB();
f.SomeArray = this.arrayname;
f.Show();

然后在 FormB 中

this.label1.Text = this.SomeArray[0,0];

make a public property on FormB

public string [,] SomeArray {get;set;}

Then set it when you display

FormB f = new FormB();
f.SomeArray = this.arrayname;
f.Show();

Then in FormB

this.label1.Text = this.SomeArray[0,0];
岁月苍老的讽刺 2024-11-05 06:03:39

可能是最简单的是将其作为formb的属性公开:

public string[,] Hours { get; set; }

在创建实例之后立即设置它:

FormB myFormB = new FormB();
myFormB.ArrayName = new string[5, 2] { some values };

Probably the easiest would be to expose it as a property in FormB like so:

public string[,] Hours { get; set; }

And set it right after you create the instance:

FormB myFormB = new FormB();
myFormB.ArrayName = new string[5, 2] { some values };
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文