Progress bar 如何从数据访问层中的函数触发Progressbar

Progress bar 如何从数据访问层中的函数触发Progressbar,progress-bar,Progress Bar,我在一个类中有一个函数:对于这个函数中的每个获取的记录,我将记录写入一个文件,我还想在我的progressbar中添加这个获取的记录的值/计数,但是这个progressbar存在于表单页面中,而这个函数存在于我的类中,我在formpage中调用这个函数 这里是这个函数的一部分 this.path_to_file = ConfigurationManager.AppSettings["ExportDir"] + DateTime.Now.ToString(Confi

我在一个类中有一个函数:对于这个函数中的每个获取的记录,我将记录写入一个文件,我还想在我的progressbar中添加这个获取的记录的值/计数,但是这个progressbar存在于表单页面中,而这个函数存在于我的类中,我在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);
        }
this.path\u到\u文件=
ConfigurationManager.AppSettings[“ExportDir”]+
DateTime.Now.ToString(ConfigurationManager.AppSettings
[“导出文件名”])+ConfigurationManager.AppSettings
[“出口扩展”];
FileStream fm=新的FileStream
(this.path_to_文件,FileMode.Create,FileAccess.ReadWrite,
FileShare.ReadWrite);
StreamWriter sw=新StreamWriter(fm,Encoding.Default);
List exportRecords=null;
exportRecords=ExportList();
尝试
{
int i=0;
foreach(出口记录中的出口交货)
{
sw.Write(例如ExportLine());
sw.Write(sw.NewLine);
sw.Flush();
i++;
}
}
捕获(异常exc)
{
日志写入(exc.Message);
}

它返回字符串

让类根据进度引发事件,并相应地更新表单

或者最好在后台线程上执行此操作:


在到达DAL之前,您能否确认您的应用程序是否正在使用任何业务实体,以及表单是如何触发此写入的?public override List ExportList()是一个覆盖列表,在此列表中,我调用另一个列表(此处启动数据访问层),该列表使用oledbdatareader从数据库中获取真实数据。是的,我用公共汽车。实体