C# 更新计数器不更新我的DataGridView
我正在Visual Studio 2015中创建Windows窗体应用程序。我有它的沟通和分享与我们的SQL Server完美的每一个功能,但一个。我想在表单上放置一个“live”计数器,它每3秒(或更多)更新一个值。计数器的工作将是跟踪从仓库运出的库存(只需担心从SQL Server获取该信息,SQL Server已经具备该功能,在此之前没有任何功能),并显示该信息。不需要花哨,只要准确C# 更新计数器不更新我的DataGridView,c#,datagridview,visual-studio-2015,counter,C#,Datagridview,Visual Studio 2015,Counter,我正在Visual Studio 2015中创建Windows窗体应用程序。我有它的沟通和分享与我们的SQL Server完美的每一个功能,但一个。我想在表单上放置一个“live”计数器,它每3秒(或更多)更新一个值。计数器的工作将是跟踪从仓库运出的库存(只需担心从SQL Server获取该信息,SQL Server已经具备该功能,在此之前没有任何功能),并显示该信息。不需要花哨,只要准确 public void InitializeTimer() { var timer
public void InitializeTimer()
{
var timer = new System.Timers.Timer();
timer.Interval = 3;
timer.Start();
timer.Elapsed += keep_track_of_inventory_being_shipped;
}
private void keep_track_of_inventory_being_shipped(object sender, EventArgs e)
{
RefreshMyForm();
}
private void RefreshMyForm()
{
this.TableAdapter.Fill(this.DataSet.CMS);
}
}
我以前问过这个问题,我本以为我答对了,但我注意到我错了。很遗憾我回来了。。。我试图通过对SO和其他来源的研究来修改代码,以使其正常工作,从而使此代码看起来与我过去发布的URL中的代码不同。没有骰子
附加信息:当程序第一次加载时,“this.TableAdapter.Fill(this.DataSet.CMS);”每隔几秒钟(或几分钟,随便什么。在计数器工作后,我会担心这个问题)。它确实在程序启动时提供了正确的计数,但我似乎根本无法让它刷新。我知道最后两种方法可能有点过头了,但我决定还是保持原样,问问别人。我从低间隔开始只是为了检查它是否在更新。它不是:/I我不明白为什么没有抛出错误,或者为什么“this.TableAdapter.Fill(this.DataSet.CMS);”可以在开始时从数据库正确更新计数,但不能以这种方式刷新?如果不是要求太多,我更愿意理解这一点以及修复建议,而不仅仅是修复
tchelidze发布的最初解决方案是我之前使用的解决方案,但我确信责任在于我没有正确实施他的建议。我很感激我能得到的任何帮助,很长一段时间了,我喜欢这个网站。谢谢大家。这是因为您需要调用
计时器。停止()
当您进入RefreshMyForm
时,然后在fill方法完成后,调用计时器。开始()
并且在该方法之外无法访问时间public void InitializeTimer()
您应该在表单上放置一个计时器,这样做您应该从timer1\u Tick事件调用RefreshMyForm
,这是因为您需要调用计时器。当进入RefreshMyForm
时,停止(),然后在fill方法完成后,调用timer.Start()此外,此方法之外无法访问时间public void InitializeTimer()
您应该在表单上放置一个计时器,这样做您应该从timer1\u Tick事件调用RefreshMyForm
。此外,对于测试,您应该将其设置为3000(记住这些是毫秒,你不希望它每秒刷新333次)--斯坦:嘿,谢谢你,伙计,我想我对这个问题缺乏耐心是显而易见的。--MethodMan:一个……的儿子,来自强类型语言,仍然习惯于工具箱和属性窗口等。非常感谢MethodMan,我真的很感激。@MethodMan我想把你的答案标记为正确/解决了,但既然它是我的答案“我想我不能在评论中这样说吗?我只是想给你一点荣誉,因为我很感谢你的帮助。@耸耸肩,我已经对它进行了更新,使它成为一个答案,所以如果你愿意,请随时接受。”。。