Так что я хочу динамически создать несколько кнопок и определить их событие нажатия, так как я делаю это внутри 2 для, и мне нужны кнопка и 2 переменные, которые управляют, потому что я не могу вызвать функцию для обработки четного щелчка поэтому я использую лямбда-выражение (=>), чтобы сделать это.
это часть кода:
Button retangulo;
for (int i = 0; i < Jogo.tamanho; i++)
{
for (int j = 0; j < Jogo.tamanho; j++)
{
retangulo = new Button()
{
Name = "rectangle" + (i * Jogo.tamanho + j),
BackColor = Color.LightGray,
Location = new Point(9 + (j * 43), 20 + (i * 43)),
Size = new Size(40, 40),
FlatStyle = FlatStyle.Popup,
};
retangulo.Click += (obj,e) =>
{
if (Jogo.tabuleiro[i, j].Bomba) retangulo.Image = Resources.download;
Jogo.tabuleiro[i, j].Numero = Jogo.Surroundings(Jogo.tabuleiro[i, j]);
};
groupBox2.Controls.Add(retangulo);
}
}
Проблема:
i и j всегда то же самое, я намерен изменить их согласно соответствующей позиции кнопки в массиве. Я предполагаю, что код, сохраняемый в событие click, - это, например, jo go .tabuleiro [i] [j] вместо jo go .tabuleiro [0] [0].