我无法弄清楚我是否可以执行以下操作:我想使用for循环初始化我的PictureBox数组中的所有值。我也想要分配的值使用循环迭代器。例如:使用for循环初始化数组和变量名C#
PictureBox[] picUserCards = new PictureBox[6];
for (int i = 0; i < picUserCards.Length; i++)
{
// Below is similar to what I have done in VBA
picUserCards[i] = picCard + (i + 1);
}
正如你可以看到,C#是要扔我一个错误说,皮卡德不会在这方面存在的。但是,在VB/VBA中,它会连接字符给我,给我picUserCards [0] = picCard1。
这可能是一个非常简单的答案,我希望它已经没有被答复几十次了,但是我的前兆搜索没有产生任何东西,除了如何使用For循环来处理数组的索引。
如果很重要,PictureBoxes已经存在(其中12个),所以我想弄清楚如何将它们与数组关联,而不是重新设计我的表单。
编辑:我想有两个数组,解决方案将所有图片框放在窗体上并将它们转储到一个数组中并不能解决我的特定问题。我想能够自己确定有多少对象与给定的数组关联。
谢谢!我会尽快解决(我和妻子已经从'我编码'转换为'我们监视的东西')。 – armadadrive
不幸的是,picUserCards [i] = this.Controls [“picCard”+(i + 1)];给出以下错误: 错误1不能将类型System.Windows.Forms.Control'隐式转换为'System.Windows.Forms.PictureBox'。一个明确的转换存在(你是否缺少演员?) 智能感知显示我picCard1,picCard2等,所以我认为范围不是一个问题(这意味着我不需要找到) – armadadrive
好'Controls'是只是一个'Control'对象的列表。 'PictureBox'是控件的一个子类,所以如果你想分配结果,你需要做一个明确的转换。像这样:'picUserCards [i] =(PictureBox)this.Controls [“picCard”+(i + 1)];' – ean5533