Я создал приложение, которое получает содержимое папки и перечисляет их в виде списка, мне было интересно, как лучше обновлять это каждые X секунд?
Ранее у меня было " Refre sh "в GUI, однако я хочу отойти от этого и иметь автомат c refre sh.
Я использовал это, однако я понимаю, что Sleep()
приведет к полной остановке приложения до истечения времени таймера:
public Form1()
{
InitializeComponent();
RefreshQueue();
label1.Text = listBox1.Items.Count.ToString();
while (i > 1)
{
RefreshQueue();
System.Threading.Thread.Sleep(1000);
}
}
А также:
public void Update()
{
RefreshQueue();
}
RefreshQueue()
очищает текущий список и вызывает PrintQueue()
:
public void PrintQueue()
{
DirectoryInfo di = new DirectoryInfo(directoryLocation);
foreach (FileInfo fi in di.GetFiles().OrderByDescending(d => d.LastWriteTime))
{
listBox1.Items.Add(directoryLocation + fi);
}
}