Я пытаюсь обновить метку в окнах форм.Действие происходит в отдельном классе, но пока действие происходит в отдельном классе.Ярлык должен быть обновлен, но, похоже, что-то не работает.Пожалуйста, помогите
Ниже приведен код Back формы ProcessingUI
public partial class ProcessingUI : Form
{
private void start_Click(object sender, EventArgs e)
{
StartProcessingTask();
}
private void StartProcessingTask()
{
if (_isRunning)
return;
_isRunning = true;
_taskToken = new CancellationTokenSource();
Task.Factory.StartNew(() =>
{
while (_isRunning)
{
var data = _processing.Processdata(lblCounter, _taskToken);
if (data.Success)
_isRunning = false;
if (_taskToken.IsCancellationRequested)
return;
}
});
}
public delegate void SetStatusCallback();
public void UpdateStatus()
{
lblCounter.Invoke((Action)delegate
{
lblCounter.Text += new EventHandler(_processing.Raise);
});
}
}
Затем приведен отдельный класс, который выполняет действие, в основном его просто обновление.Теперь при обновлении я просто хочу передать обновляемую запись.Поэтому я вызываю метод из формы и использую его в этом классе.
public class Processing
{
public Results Processdata(CancellationTokenSource taskToken)
{
foreach (var record in dataCases)
{
//Doing other things here like updating
new ProcessingUI().UpdateStatus();//This is the method I am calling from the form.
get(record.RequestReference);
}
}
public string get(string msg)
{
return msg;
}
public void Raise(object sender, EventArgs e)
{
get("hello");
}
}