어리석은 것처럼 들리지만 이런 일이 일어납니다.C# WinForms : 예상보다 많은 것을 실행하는 함수
기능을 활성화하고 작업을 수행 한 다음 작업을 마친 후 다시 활성화합니다. 즉,이 기능은 한 번이 아니라 두 번 활성화됩니다. 왜 디버깅을 시도했는지 알기 위해 노력했지만 이유를 찾지 못했습니다.
나는이 기능이 활성화 패널을 클릭
는 :private void Play(object sender, EventArgs e)
{
Play0(MousePositionX, MousePositionY);
if (swich_player == true && AI_enabled == true)
{
AI_playing();
swich_player = false;
}
}
전체 코드는 정말 깁니다.
정확하게 검색하지 않습니까? 다른 이유가 있습니까? 이 기능을 다시 시작하려면 무언가를 활성화해야합니다. 이 기능을 다시 활성화하는 것을 찾을 수 없습니다.
문제를 검색 할 수있는 곳이 있습니까? 아니면 문제가 무엇입니까?
편집 :
마침내 문제가 발견되었습니다. 패널의 속성을 변경하는 버튼 (button1)과 패널을 너비 0 픽셀 높이로 만드는 두 번째 버튼 (button2)이 있습니다 (보이지 않게하기 위해). 첫 번째 단추는 함수를 활성화하는 EventHandler를 추가합니다. 그러나 button2는 EventHandler를 제거하지 않습니다. 이렇게하면 button1을 누른 시간만큼 함수가 호출됩니다.
뭐라구?! 어느 함수가 어떤 함수를 호출해야하는지 더 잘 설명 할 수 있습니까? 또는 위의 것을 재귀 적으로 만들고 싶습니까? 약간의 코드를 여러 번 실행하기를 원한다면 잠시 (사실적으로) 필요하지 않을까요? –