计时器工作减慢的想法(使用另一种形式)窗口形式c#

时间:2015-10-14 08:40:56

标签: c# timer

我的项目有一个MainForm,我显示F_Insert并为MainForm设置MdiParent

F_Insert f = new F_Insert();
f.MdiParent = this;  
f.Show()

我的上传方法,这个方法在MainForm中。

private void upload ()
{
  //Do something to upload, it give 3s to upload complete
}

我想每10秒将数据上传到Netwrok服务器。但上传处理完全上传数据3s。

我使用WindowForm.Timer并每10秒设置一次方法上传。问题是Timer打勾时。我什么都做不了,我无法插入新数据。 3秒后,我可以做到正常。如果我是客户,那就太糟糕了。

请给我一些改进的想法。

感谢我的朋友!!!!

1 个答案:

答案 0 :(得分:1)

您可以使用一些异步编程模式。 你可以用例如用于包装上载过程并启动异步的后台工作程序。 (https://msdn.microsoft.com/en-us/library/cc221403(v=vs.95).aspx

您还可以使用任务框架(或.NET 4.5中的await / async)(https://msdn.microsoft.com/en-us/library/dd321439(v=vs.110).aspx