在Timer Tick C#表单上更改DataGrid单元格的背景颜色
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Timer Tick C#表单上更改DataGrid单元格的背景颜色相关的知识,希望对你有一定的参考价值。
我目前正在开发一个程序,它以C#格式显示和处理来自数据库的数据。我有一个在程序加载时为空的DataGridView,当用户从ToolStripMenu中选择项目时,它会在数据库中填充数据。我需要能够每秒更改每行中单元格的背景颜色。我已经实例化了一个计时器,并将其设置为每秒都打勾。我已经设置了一个方法事件,每次计时器滴答(每秒)时执行,如下所示:
void _timer_0_Tick(object sender, EventArgs e)
{
}
在这种方法中,我希望能够根据Status是好还是坏,将DataGrid中每行的“status”单元颜色为红色或绿色。
这个方法中的一些伪代码说明了我想做的事情:
void _timer_0_Tick(object sender, EventArgs e)
{
bool isDataStable = //code to determine if stable on my end
if(isDataStable == true)
{
DataGrid.Row[Index].Column["Status"].BackColor = Green;
}
else
{
DataGrid.Row[Index].Column["Status"].BackColor = Red;
}
}
我见过的每个DataGridView行/列编辑示例都必须使用基于DataGridView的事件处理程序,如何在实时编辑GridView的同时实现计时器?
谢谢
答案
你的伪代码很接近 - 只需使用适当的属性:
void _timer_0_Tick(object sender, EventArgs e)
{
bool isDataStable = //code to determine if stable on my end
if(isDataStable == true)
{
DataGrid.Rows[Index].Cells["Status"].Style.BackColor = Color.Green;
}
else
{
DataGrid.Rows[Index].Cells["Status"].Style.BackColor = Color.Red;
}
}
以上是关于在Timer Tick C#表单上更改DataGrid单元格的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章
Javascript 不适用于 ASP.NET 上的 Timer Tick 方法
当Timer触发其tick时,如何使TextBox.TextChanged事件不触发?