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;
                }
            }         
        }
速度方面,一秒觉得还行
不知还有什么好的解决方法?

 

posted @ 2009-09-06 16:04  WarCraftIII  阅读(590)  评论(0)    收藏  举报