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にカラーを印刷したいのですが、このコードを書きましたが、機能しません。プログラムloop.countX1000秒待機してすぐにカラーを印刷するためです。連続印刷ではありません。これに対して何ができますか?
解決策[編集]:
-フォームにタイマーコントロールを追加します。(コンポーネントカテゴリにあります)
-Intervalプロパティを45000に設定します(値はミリ秒を表します)
-フォームデザイナまたはコードのどこかで、タイマーのEnabledプロパティをTrueに設定します。
-タイマーのTickイベントのハンドラーを追加します(タイマーをダブルクリックすると、これを取得できます)
-Tickハンドラー内で、dataGridViewを更新します
private void timer1_Tick(object sender, EventArgs e)
{
// Update DataGridView
}
そしてUse、timer1.Start();..。