我無法弄清楚我是否可以執行以下操作:我想使用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