Winfrom 中的timer应用
新做的winform东西,用timer解决了几个问题
Main页面包含数据列表页InfoList,添加Info数据按钮(打开InfoAdd页面),打开InfoList的菜单
遇到的问题:
因为需要,在InfoList中对特殊数据要设置背景颜色是红色,默认绑定没问题,在点添加按钮添加数据时,因为InfoList与InfoAdd没有直接联系,数据没有得到及时更新。
另外,当通过main中的Infolist菜单打开InfoList时,因为是show()出来的,数据颜色的设置被冲掉了。
现解决如下:
InfoList页面添加变量count,记录数据绑定DataBinder();时的数据条数
在InfoList中添加一个时钟timer1,Interval设置为1000,事件如下
private void timer1_Tick(object sender, EventArgs e)
{
//nowcount,现在得到新数据条数
//判断数据相不相同在绑定的原因是,如果一直刷新绑定,复选框选中的数据也被冲掉,
//焦点一直会跳到第一条,
int nowcount = DataLink.Data.getCount(getStrWhereForCount());
if (nowcount!=count)
{
DataBinder();
}
//未结账的显示为红色
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (dataGridView1.Rows[i].Cells[2].Value.ToString() == "0")
{
DataGridViewRow row = dataGridView1.Rows[i];
row.DefaultCellStyle.BackColor = Color.Red;
}
}
}
速度方面,一秒觉得还行
不知还有什么好的解决方法?

浙公网安备 33010602011771号