У меня есть приложение, которое получает данные в CSV-файл, и программы получают данные каждые 5 секунд. проблема в том, что я не могу делать какие-либо другие операции, пока это происходит в фоновом режиме. Я использую таймер, чтобы выполнить работу.
Я узнал об элементе управления backgroundworker
и попытался его использовать, и я установил RunWorkerAsync
в методе замедления формы (после initializeComponent
), но он все-таки начался. Ниже приведена кодировка для фонового работника.
Что здесь нужно исправить? и, если это неправильный подход, каков наилучший способ заставить фоновый процесс происходить, когда я могу приступить к другим формальным действиям. Спасибо
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
//int a = (int)(e.Argument);
if (backgroundWorker1.CancellationPending)
{
e.Cancel = true;
}
else
{
timerQuote.Enabled = true;
timerQuote.Start();
}
}
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Cancelled)
{
MessageBox.Show("grabbing is terminated");
}
}
//Form decleration
public Form1()
{
InitializeComponent();
backgroundWorker1.RunWorkerAsync();
...
}