C#DataGridView使用執行緒定時迴圈滾動資料
阿新 • • 發佈:2021-01-26
1.定義執行緒
// skinDataGridView1資料滾動執行緒
Thread thrRefresherListView;
// 鎖
bool listViewFlag = false;
2.啟動執行緒
// 保證只開啟一次
if (!listViewFlag)
{
// 新增完資料後,開啟skinDataGridView1滾動資料執行緒
thrRefresherListView = new Thread(new ThreadStart(listviewTimer));
thrRefresherListView.Start();
listViewFlag = true;
}
3.滾動方法
/// <summary>
/// skinDataGridView1資料迴圈滾動定時器
/// </summary>
private void listviewTimer()
{
try {
while (true)
{
if (skinDataGridView1.Rows == null)
{
continue;
}
for (int i = 0; i < skinDataGridView1.Rows.Count; i++)
{
if (skinDataGridView1.Rows[i] == null )
{
continue;
}
//skinDataGridView1.Rows[i].Selected = true;
//本行顏色變為紅色
//skinDataGridView1.Rows[i].DefaultCellStyle.ForeColor = Color.FromArgb(0, 192, 192);
skinDataGridView1.FirstDisplayedScrollingRowIndex = i;
Thread.Sleep(100);
//讓本行再次恢復顏色
//skinDataGridView1.Rows[i].DefaultCellStyle.ForeColor = Color.FromArgb(0, 192, 192);
}
}
} catch (Exception ee)
{
}
}
另外
如果需要去掉滾動條且還能滾動資料,則可以使用一個panel控制元件覆蓋到滾動條的位置並且panel與dataGridView的背景顏色和大小一致,這樣就可以有隱藏掉滾動條的效果了。