2013-02-14 3 views
-2

어떻게하면 WinForms 앱에서이 작업을 수행 할 수 있습니까? System.Windows.Forms.Timer로 시도했지만 응용 프로그램을 최소화하면 다시 최대화 할 수 없습니다. 그것은 애플 리케이션을 lags. 코드 : 나는 500지연없이 500 밀리 초마다 루프합니다.

EDIT로 .Interval 속성을 사용하고 밀리 초

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
      System.Windows.Forms.Timer Loop = new System.Windows.Forms.Timer(); 
      Loop.Interval = 500; 
      Loop.Tick += new EventHandler(UpdateUI); 
      Loop.Start(); 
     } 

     void UpdateUI(object sender, EventArgs e) 
     { 
      //ADD TO LIST ON USER INTERFACE 
     } 
    } 
} 
+0

일부 코드를 표시하면 도움이 될 것입니다. – Jehof

+0

코드 - 제발 당신이하는 일을 짐작할 수 없습니다. 당신이 설명하는 것을 수행하는 방법은 너무 많습니다. 코드 없이는 대답을 드릴 수 없습니다. – Oded

+0

코드를 표시하십시오. – mbeckish

답변

0

Timer class 지정을 Interval. 따라서 500이라는 값은 0.5 초의 간격을 나타냅니다. 대신 50을 지정하십시오.

또한 타이머가 정확히 50 밀리 초마다 작동하도록 보장 할 수는 없습니다. 약 50 밀리 초 정도.

타이머 개체에 대한 참조를 유지해야합니다.

public partial class Form1 : Form 
{ 
    Timer loop; 

    public Form1() 
    { 
     InitializeComponent(); 
     this.loop = new System.Windows.Forms.Timer(); 
     loop.Interval = 50; 
     loop.Tick += new EventHandler(UpdateUI); 
     loop.Start(); 
    } 

    void UpdateUI(object sender, EventArgs e) 
    { 
     //ADD TO LIST ON USER INTERFACE 
    } 
} 
+0

1 초 미만으로 오래 걸리면 아무리 오래 걸어도 문제가되지 않으며 앱이 지연되지 않습니다. – abcd3fg

+0

그래요. 지연 부분. – abcd3fg

+0

문제가이 타이머 코드에없는 것 같습니다. '사용자 인터페이스에 추가'코드 또는 다른 곳에있을 가능성이 있습니다. – Virtlink

관련 문제