2012-03-21 4 views
0

아래 코드는 특정 포트를 병렬 포트에서 높게 설정하는 방법입니다. 윈도우에서 버튼 클릭 시간 간격을 설정하는 방법. 시간 간격을 2로 설정하면 타이머는 2 초 후에 자동으로 멈추어야합니다.C# 윈도우 폼 응용 프로그램에서 button_click에 시간 간격을 설정하는 방법

private void button1_Click(object sender, EventArgs e) 
    { 

     PortAccess.Output(888,1); 

    } 

알려 주시면 제안 사항이나 예를 알려주 실 수 있습니다.이 button_click 안에 들어 있습니다.

+0

나는 당신이하고 싶은 것을 이해할 수 없습니다. 왜 타이머가 필요하니? 2 초간 지연? 예를 들어 –

답변

1

2 초 후에 비트를 삭제 하시겠습니까? 이 같은 것이 작동해야합니다 :

private void button1_Click(object sender, EventArgs e) 
{ 
    // Prevent multiple button clicks 
    button.Enabled = false; 
    PortAccess.Output(888, 1); 
    Timer timer = new Timer { Interval = 2000 }; 
    timer.Tick += HandleTimerTick; 
    timer.Start(); 
} 

private void HandleTimerTick(object sender, EventArgs e) 
{ 
    Timer timer = (Timer) sender; 
    timer.Stop(); 
    timer.Dispose(); 
    button.Enabled = true; 
    PortAccess.Output(888, 0); 
} 

타이머를 한 번 설정하고 인스턴스 변수로 저장하는 것이 더 간단 할 수 있습니다. 그런 다음 Tick 이벤트를 첨부하고 구성시 간격을 설정하여 양식의 구성 요소에 추가하여 자동으로 삭제되도록 할 수 있습니다. 귀하의 방법은 다음과 같습니다 :

private void button1_Click(object sender, EventArgs e) 
{ 
    button.Enabled = false; 
    PortAccess.Output(888, 1); 
    timer.Start(); 
} 

private void HandleTimerTick(object sender, EventArgs e) 
{ 
    timer.Stop(); 
    button.Enabled = true; 
    PortAccess.Output(888, 0); 
} 
+0

감사합니다 ... – hari

관련 문제