2011-03-09 6 views

답변

0
  1. 입력 코드를 메서드에 넣으십시오.
  2. 부울 변수가 TRUE로 설정 될 때까지 실행되도록 루프를 메서드에 넣습니다.
  3. 해당 메서드를 호출하는 스레드 개체를 만듭니다.
  4. 스레드 개체를 시작하십시오.
  5. 메서드에서 모눈을 업데이트해야하는 경우 모눈을 업데이트하려면 DELEGATE 및 DataGridView.Invoke 메서드를 사용해야합니다. 그렇지 않으면 스레딩 오류가 발생합니다.
  6. 스레드를 취소하려면 변수를 TRUE로 설정하십시오.
0

그냥 타이머를 사용하고 틱이 나타나면 새 스레드를 만들고 DataGrid을 업데이트하십시오.

Windows Forms 및 TPL (.NET Framework 4 및 3.5)의 예입니다.

this.timer = new Timer() { Interval = 2000 }; 
this.timer.Tick += OnFetch; 
this.timer.Start(); 

관리 틱 이벤트 :

private void OnFetch(object sender, EventArgs e) 
{ 
    Task.Factory.StartNew(() => 
    { 
     // Get the data from your db 
     var data = GetDbData(); 
     foreach (MyElement row in data) 
     { 
      if (dataGridView1.InvokeRequired) 
      { 
       dataGridView1.Invoke(new Action(() => 
       { 
        // Add the row 
       })); 
      } 
     } 
    }); 
} 

타이머를 초기화

관련 문제