2012-05-06 24 views
0
excel = Workbook.Open("1.xls"); 
    sheeticerik = excel.Worksheets[0]; 
    for (int k = 0; k < sutun; k++) 
     for (int i = 0; i < satir; i++) 
     { 
      string a = sheeticerik.Cells[i, k].StringValue; 
      if (a.Contains("X")) 
      { 
       dataGridView1.Rows[x1].Cells[y1].Style.BackColor = System.Drawing.Color.Red; 
       System.Threading.Thread.Sleep(1000); 
       dataGridView1.Refresh(); 

      } 
     } 

私は、これは、第2待機とimmediatily印刷が連続印刷をcolor.Not loop.countX1000 work.Becauseプログラムはないcode.But書いておきsecond.AndをDataGridViewのための印刷色をしたいです。これで何ができますか?C#のDataGridViewの印刷色毎秒

ソリューション[編集]:

-AddフォームにTimerコントロール。 45000へのIntervalプロパティが(値はミリ秒を表します)

あなたのコードのどこかにフォームデザイナでTrueにタイマーのEnabledプロパティを設定し、または-Either -Set

(これは、コンポーネントのカテゴリにあります)。

-AddタイマーのTickイベントのハンドラ(あなたはダブルクリックタイマーによりこれを取得することができます)

ティックハンドラ-Inside、あなたのDataGridView

private void timer1_Tick(object sender, EventArgs e) 
{ 
    // Update DataGridView 
} 

とUSE、タイマ1を更新します。開始(); ...

+0

あなたのパスは間違っています。あなたは、データグリッドを更新するためのタイマーが必要です。 –

+0

Thnk u man ...タイマーの仕事! – lucky

答えて

1

タイマーで色を印刷しようとするのではなく、DataGridViewのRender()イベント中に色を印刷してみてください。あなたの画面はあまりにもちらつきが少ないでしょう。