Итак, у меня есть процесс, который немного запускается с большими файлами, и я хочу добавить всплывающее окно «Please Wait .... Processing ...», чтобы знать, как оно работает над своими задачами.
Я следовал этот пример видео на youtube C# Оптимизация формы ожидания
Реализовано так же, как в примере, но метод, который фактически выполняет работу, никогда не запускается
Это моя форма обработки logi c, который отображается, когда я запускаю все приложение
public partial class Processing : Form
{
public Action Worker { get; set; }
public Processing(Action worker)
{
InitializeComponent();
if(worker==null)
throw new ArgumentNullException();
Worker = worker;
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Task.Factory.StartNew(Worker).ContinueWith(t => { this.Close(); }, TaskScheduler.FromCurrentSynchronizationContext());
}
}
Тогда я вызываю его с помощью нажатия моей кнопки
private void btnFilters_Click(object sender, EventArgs e)
{
using (Processing pc = new Processing(ParseFilteredData))
{
pc.ShowDialog(this);
}
//ParseFilteredData();
}
Почему выполняется ParseFilteredData, но не выполняется обновить основную форму? Я прошел через код, и он выполняет метод, но мой пользовательский интерфейс не отражает данные.
Пожалуйста, имейте в виду, что мой ParseFilteredData работает, если вы закомментируете оператор using и просто запускаете метод по нажатию кнопки, через несколько минут все мои списки заполнятся.