c# - 定时器连续循环

标签 c# timer infinite-loop

我正在将信息从计时器传递到另一个函数,但信息传递后,它会继续传递它。我不想关闭定时器。 有什么办法可以停止循环吗?定时器间隔为 5 秒。

private static List<DirectoryInfo> list_to_copy = new List<DirectoryInfo>();
DirectoryInfo usbdirectory;
backing_up_interface backing_up_interface;
bool newfilesfound = false;

private void usbchecker_timer_Tick(object sender, EventArgs e)
{ 
    foreach (DriveInfo usbname in DriveInfo.GetDrives().Where(usbproperty => usbproperty.DriveType == DriveType.Removable && usbproperty.IsReady))
    {
        if (!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory.ToString() + usbname.VolumeLabel + @"\"))
        {
            usbdirectory = new DirectoryInfo(usbname.Name);
            if (!list_to_copy.Contains(usbdirectory))
            {
                list_to_copy.Add(usbdirectory);
                newfilesfound = true;
            }
        }
    }
    if (newfilesfound == true)
    {
        process_copy();
        newfilesfound = false;
    }
}

//where information is passed to
private void process_copy()
{
    for (int i = 0; i < list_to_copy.Count; i++)
    {
        backing_up_interface = new backing_up_interface(list_to_copy[i]);
        backing_up_interface.Show(); MessageBox.Show(list_to_copy[i].ToString());
    }
}

最佳答案

如果找不到该文件,则创建一个目录。它会阻止它循环。

关于c# - 定时器连续循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35211765/

相关文章:

c# - .NET 计时器不准确?

flutter - 如何在 Flutter 中一段时间​​不活动后执行函数

vba - 如何检测 Excel 工作簿中的用户不活动

opencv:显示图像并等待变量更改,而不是等待按键

c# - 将库重构为异步,如何避免重蹈覆辙?

c# - 如何提取 Expression<Func<T, TResult>> 查询中使用的属性并测试它们的值?

reactjs - 在功能 react 组件中无限重新渲染

javascript - 使用此 javascript 获取无限调用堆栈

c# - 使用 Roslyn 编译时自动解决依赖关系

c# - 全局安装 Nuget 包