Как вызвать Progressbar из функции на уровне доступа к данным - PullRequest
0 голосов
/ 04 декабря 2009

У меня есть функция в классе: для каждой выбранной записи в этой функции я записываю запись в файл, я также хочу добавить значение / счет этой выбранной записи в моем индикаторе выполнения, НО этот индикатор выполнения существует в виде страница и функция существует в моем классе, я вызываю функцию в formpage

вот часть этой функции

        this.path_to_file =
        ConfigurationManager.AppSettings["ExportDir"] +
DateTime.Now.ToString(ConfigurationManager.AppSettings
["Export_FileName"]) + ConfigurationManager.AppSettings
["Export_Extension"];


        FileStream fm = new FileStream
           (this.path_to_file, FileMode.Create, FileAccess.ReadWrite,
FileShare.ReadWrite);

        StreamWriter sw = new StreamWriter(fm, Encoding.Default);

        List<Export> exportRecords = null;

        exportRecords = ExportList();
        try
        {
            int i = 0;
           foreach (Export ex in exportRecords)
           {
               sw.Write(ex.ExportLine());
              sw.Write(sw.NewLine);
              sw.Flush();
               i++;
           }
        }
        catch (Exception exc)
        {
           Log.Write(exc.Message);
        }

возвращает строки

1 Ответ

1 голос
/ 04 декабря 2009

Пусть ваш класс поднимет событие с прогрессом, и ваша форма обновится соответствующим образом.

Или еще лучше, сделайте это в фоновом потоке:

http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx

...