Как я могу использовать переменную для цикла в команде?(C #) - PullRequest
0 голосов
/ 29 мая 2019

Итак, у меня есть матрица кнопок, от a1f до a10f и от a до j, поэтому a1f вверху слева, а j10 справа внизу.

Я хочу что-то вроде этого:

for (i = 1; i < 11; i++)
  {
      a{i}f.BackgroundImage = Properties.Resources._1mal2_1_Rebellion;
      b{i}f.BackgroundImage = Properties.Resources._1mal2_2_Rebellion;
      a{i}f.Enabled = false;
      a{i}f.Tag = "playerShip";
      b{i}f.Enabled = false;
      b{i}f.Tag = "playerShip";
  }

, поэтому первый цикл будет:

a1f.BackgroundImage = Properties.Resources._1mal2_1_Rebellion;
b1f.BackgroundImage = Properties.Resources._1mal2_2_Rebellion;
a1f.Enabled = false;
a1f.Tag = "playerShip";
b1f.Enabled = false;
b1f.Tag = "playerShip";

, второй будет:

a2f.BackgroundImage = Properties.Resources._1mal2_1_Rebellion;
b2f.BackgroundImage = Properties.Resources._1mal2_2_Rebellion;
a2f.Enabled = false;
a2f.Tag = "playerShip";
b2f.Enabled = false;
b2f.Tag = "playerShip";

и т. Д.

a {i} f или [i] f не работает.

1 Ответ

1 голос
/ 29 мая 2019

Если вы не можете перебрать элементы управления, вы можете сохранить их во временном массиве.

Но вам, вероятно, лучше сделать это, сгенерировав элементы управления.Это может быть следующий уровень для улучшения.Сейчас вы можете попробовать это:

Например:

// create arrays which contains the controls.
var aShips = new [] { a1f, a2f, a3f, a4f, a5f, a6f, a7f, a8f, a9f, a10f };
var bShips = new [] { b1f, b2f, b3f, b4f, b5f, b6f, b7f, b8f, b9f, b10f };

// notice the 0  and the < 10, because arrays are zero-indexed
for (i = 0; i < 10; i++)
{
    // now you can access them via the array. 
    aShips[i].BackgroundImage = Properties.Resources._1mal2_1_Rebellion;
    aShips[i].Enabled = false;
    aShips[i].Tag = "playerShip";

    bShips[i].BackgroundImage = Properties.Resources._1mal2_2_Rebellion;
    bShips[i].Enabled = false;
    bShips[i].Tag = "playerShip";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...