Я искал ответ на этот вопрос, но не могу найти простой пример, чтобы помочь мне понять. Я пишу приложение Win Form в C #, которое оборачивает кучу инструментов командной строки, используемых для кодирования видео. У меня есть метод с именем encodefiles Я хочу запустить этот метод в потоке, чтобы пользовательский интерфейс все еще мог работать. Когда поток завершен, я хочу, чтобы он вызвал другой метод, чтобы я знал, что он завершен. Затем я могу закодировать следующий файл или закончить. все зависит от того, есть ли еще файлы для кодирования.
Я получал нужное мне действие, когда запускал только один инструмент командной строки, так как я использовал объект процесса, к которому вы можете прикрепить законченное событие. Я хочу то же самое для потока, но понятия не имею, как.
Короче говоря, я хочу иметь возможность делать следующее с потоком вместо процесса
Process myProcess = Process.Start(commandLineExe, commandlineSwitches);
myprocess.EnableRaisingEvents = true;
myprocess.Exited += new EventHandler(myprocess_exited);
Надеюсь, что имеет смысл
Использую c # .NET 3.5 с visual studio 2010