【发布时间】:2017-06-28 01:02:47
【问题描述】:
如果存在重复/类似问题,我深表歉意。
我有两种形式:输出的结果只是一个 DataGridView 和 Main_Form,它计算结果形式的值。输入是通过一个“文件夹”进行的,该文件夹具有各种文件,经过一些计算,这些文件会生成一些值。这些值应该放在 DataGridView 中。
我的问题是“文件夹”的这些文件是通过其他应用程序动态生成的。如何在不创建 Result 表单的新实例的情况下更新我的 DataGridView?
我正在创建 Result 表单的新实例,所以目前我的代码如下所示。我会在特定时间段过去后打破无限循环......比如说 20 分钟。
while(true)
{
FileInfo fi = new FileInfo(path);
if (Directory.EnumerateFiles(path).Any())
{
System.IO.DirectoryInfo d = new DirectoryInfo(path);
FileInfo[] Files = d.GetFiles("*.*");
foreach (FileInfo f in Files)
{
if (IsFileLocked(f)) // since files are generated run-time
System.Threading.Thread.Sleep(500); // wait
// code that computes values for currently f existing files
frm = new Result(parameters);
frm.Show();
}
else
System.Threading.Thread.Sleep(10000);
}
【问题讨论】:
标签: c# forms winforms datagridview