1
나는 많은 패널을 가지고있는 게임을 만들고있다. 그들의 이름은 polje1, polje2, polje3 등입니다. 그 중 일부의 경우, Invalidate() 메소드를 호출하여 페인트 이벤트를 새로 고쳐야하고 문제는 50 ifs 또는 switch 함수를 사용하고 싶지 않다는 것입니다.비슷한 이름의 패널에 액세스하기
그래서, 난 당신이 이해하지 않는 경우 ("polje" + number).Invalidate();
여기
같은 일부 코드 수행 할 수 있습니다
Random rnd = new Random();
private Panel polje1;
private Panel polje2;
private Panel polje3;
private Panel polje4;
private Panel polje5;
private Panel polje6;
private Panel polje7;
private Panel polje8;
private Panel polje9;
private Panel polje10;
definition bla bla bla
...
private void button1_MouseClick(object sender, MouseEventArgs e)
{
int pp = rnd.Next(1,7);
SetCurrentField(pp);
("polje" + pp).Invalidate();
}
은 어느 쪽도 무효화() 메소드는 옵션을 선택하지 않습니다, 양식이 깜박이기 때문에! 이미 클래스를 만들고 DoubleBuffered()를 수행합니다.
당신은 컨테이너의 컨트롤 컬렉션을 통해 이름 속성에 의해 제어에 액세스 할 수 있습니다
감사합니다 사람 이잖아 내가 필요한 것 ! – Patyljak