2012-05-06 3 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(); 

      } 
     } 

Я хочу печать цвета DataGridView каждый second.And я написал code.But это не программа work.Because loop.countX1000 второго ожидание и immediatily печати color.Not последовательную печать. Что я могу сделать для этого?C# DataGridView цветной печати каждого второго

Решение [Изменить]:

-Добавить управления Timer в форму. (Это в категории компонентов)

-Установить его Interval свойства до 45000 (значение представляет миллисекунду)

-Either установить Enabled свойство таймера Истину в виде конструктора, или где-то в вашем коде.

-Добавить обработчик Tick событие таймера (вы можете получить это, дважды щелкнув таймер)

-Inside обработчик Tick, обновите DataGridView

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

и использовать, Timer1. Start(); ...

+0

Вы ошиблись. Вам нужен таймер, чтобы обновить datagrid. –

+0

Thnk u man ... с таймером его работы! – lucky

ответ

1

Вместо того, чтобы пытаться печатать цвета по таймеру, попробуйте распечатать цвета во время события Render() DataGridView. Ваш экран, скорее всего, будет мерцать гораздо меньше.

Смежные вопросы