none
System.Threading.Timer 사용시 데이터 전달 RRS feed

  • 질문

  • private void mobTimerStartButton_Click(object sender, EventArgs e)
            {
                KeyValuePair<int, MobStruct> mob = (KeyValuePair<int, MobStruct>)mobTypeBox.Items[(int)mobTypeBox.SelectedValue];
    
                timer.Change(((int)mob.Value.Second * 1000), 0);
    
            }
    
            private void mobTimer(object args)
            {
    
            }

    mobTimerStartButton_Click 이벤트가 일어나면 일정 시간 후 mobTimer 메소드가 실행되게 해놓았는데

    필요한것이 mobTimer 가 실행될 때 특정한 정보를 받아서 실행되었으면 합니다. (특정한 정보는 계속 바뀜)

    즉 mobTimerStartButton_Click 이벤트로 타이머를 걸 때 매개인자 같은거를 담은 상태로 Change 를 실행할 수 있었으면 합니다.

    2016년 6월 21일 화요일 오전 5:58

답변

  • public static volatile objectoValue;

    라는 변수를 생성하시고

    메소드에서 사용하시면 될것 같습니다.

    System.Threading.Timer(new TimerCallback(mobTimer), oValue, 1000*30, 1000*30);

    • 답변으로 표시됨 css58_000 2016년 7월 3일 일요일 오전 6:58
    2016년 6월 22일 수요일 오전 6:20