您的位置:首页 > 其它

第二个窗体调用第一个窗体的Timer.Start()问题

2011-08-26 13:07 274 查看
实现功能,主窗体从数据库读取数据,点击主窗体上的添加按钮,弹出一个新的窗体,要在窗体关闭的时候,调用主窗体的Timer空间,使其Start(),继续从数据库获取最新一条数据。

今天做了一天,数据库都更新完了,但是主窗体DataGridView 上的数据就是不更新。

可能出现的问题: 一,我没有数据库,用的泛型作为数据源,泛型出问题了,2,DataGridView 出问题了,3,Timer 控件出问题了。

在网上搜索说控件没有 Refresh,但是仍然无结果。

然后开始调试:List<Order> olist=..... ;DataGridView.DataSource=olist; 最后一步绑定的时候,进入 Order 对象里面,死活不得出来,只有按F5;

问题考虑:为什么DataSource 最后一步的时候,还要多次进入Order 对象,并且运行N次,只有F5 才能终止

下班。。。

回家之后,用一台全新的电脑,重新建了一个最简单的程序,仍然无结果。然后将泛型换成DataSet 仍然无结果,然后将GridView 换成 TextBox 仍然无结果, 看来是Timer控件的问题了。

然后将2个窗体的要做的工作 弄到一个窗体里面去,成功了。。。为什么Timer控件 不能在2个窗体运行吗?奇怪。

最后把 第二个窗体的代码修改了之后,实现了。

Form1 fm=new Form1(); fm.timer1.start();

换成了 Form(Timer _timer) 接收 Form1传递的Timer ,然后 _timer.start();

想不通。。。

Timer是线程吗 ? 线程只能传参数吗 ?不能通过 Form1 fm=new Form1(); fm.timer1.start(); 运行吗 ?

但是不管哪个 方式,程序调试的时候 都没有问题,看不出来任何异常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐