Это моя функция.Индикатор выполнения запускается только после запуска метода readFile.Read.Это нормально, но это означает, что при запуске readFile.Read мое приложение выглядит замороженным.Есть ли способ заставить его работать, когда мой метод работает?Я не могу поставить его раньше, как будто индикатор выполнения завершен, а задача не выполнена, пользователь может закрыть приложение.
private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
var backgroundWorker = sender as BackgroundWorker;
backgroundWorker.WorkerReportsProgress = true;
var counter = FileCount / 100;
var files = System.IO.Directory.GetFiles(Input);
FileCount = files.Count();
for (int i = 0; i < FileCount; i++)
{
readFile.Read(files[i], Dictionary, Output);
backgroundWorker.ReportProgress(((i+1)*100)/FileCount);
}
}
private void backgroundWorker_ProgressChanged(object sender,
ProgressChangedEventArgs e)
{
// Change the value of the ProgressBar to the BackgroundWorker progress.
ProgressBar.Value = e.ProgressPercentage;
}
Кроме того, есть ли способ опубликовать мое приложение на c # без необходимостипользователь, чтобы установить это?Я нашел exe, который, кажется, работает нормально в папке отладки / выпуска, но мне действительно нужны все файлы?В Java я могу создавать автономные исполняемые файлы без необходимости установки пользователем.Могу ли я сделать это и здесь?