我將定時器的信息傳遞給另一個函數,但是在傳遞信息之後,它會一直傳遞它。我不想關閉定時器。 有沒有辦法阻止循環?計時器間隔爲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());
}
}
你要存檔什麼?我的意思是這段代碼的目的是什麼?你可能會不必要地使它複雜化。 –
它檢查USB並檢查它是否已被複制。如果它沒有調用函數來複制它@ qqww2 – yhusoonpoint
我不明白你的意思是「它不斷傳遞它」。你的代碼要做的是循環一系列驅動器。如果有任何不存在的Directiory並且不在列表中,它將執行一次'process_cop()'方法 – mrsargent