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