Button[,] lights = new Button[5,5];
for (int i = 0; i < lights.GetLength(1); i++)
{
for (int j = 0; j < lights.GetLength(0); j++)
{
lights[i, j] = new Button();
lights[i, j].Size = new System.Drawing.Size(50, 50);
lights[i, j].Click += (sender, args) => light_OnOff(lights[i,j], i, j);
lights[i, j].BackColor = Color.Yellow;
lightPanel.Controls.Add(lights[i, j]);
MessageBox.Show("I:"+Convert.ToString(i) + "J:" +Convert.ToString(j));
}
}
}
public void light_OnOff(object sender, int i, int j)
{
if(lights[i, j].BackColor == Color.Yellow)
{
lights[i, j].BackColor = Color.Black;
}
}
}
}
내가 지금 데 문제는이 Array
범위 (인덱스)의 그것 밖으로 말한다하지만 난 이유를 모르겠입니다 프로그래밍하는 게임을 불을 가지고 . 어쩌면 당신이 나를 도울 수 있습니다.
있는 줄에서 예외가 발생? 어쨌든 디버거를 사용할 때 쉽게 문제를 파악하고'i'와'j'가 무엇인지 검사해야합니다. – HimBromBeere
"light_OnOff"메서드를 시작할 때 "light button"을 클릭하자마자 예외가 표시됩니다. –
메서드 디버깅을 시도 했습니까? – sachin