C# 计算处理规则和使用进度条的时间

C# 计算处理规则和使用进度条的时间,c#,C#,我创建了一个程序,使用ftp在服务器上上传文件。现在我想在服务器上传文件时使用进度条。表示当文件为上传时,进度条开始值=0;当上传完成时,进度条的值增加;当上传完成时,进度条的值为最大值,然后返回默认值 我上传并没有问题,只是我不知道在服务器上传文件时如何使用进度条 请帮帮我 private void backgroundWorker1\u DoWork(对象发送方,DoWorkEventArgs e) { 对于(int i=1;i,这里是一个我使用的程序示例,它处理动态数量的零件并报告进度。

我创建了一个程序,使用ftp在服务器上上传文件。现在我想在服务器上传文件时使用进度条。表示当文件为上传时,进度条开始值=0;当上传完成时,进度条的值增加;当上传完成时,进度条的值为最大值,然后返回默认值

我上传并没有问题,只是我不知道在服务器上传文件时如何使用进度条

请帮帮我

private void backgroundWorker1\u DoWork(对象发送方,DoWorkEventArgs e)
{

对于(int i=1;i,这里是一个我使用的程序示例,它处理动态数量的零件并报告进度。希望对您有所帮助

以下是我的零件处理方法的结尾:

int Progress = Convert.ToInt16(((Convert.ToDecimal(intCounter) / Convert.ToDecimal(txtPartsList.Lines.Count()))) * 100);
bw.ReportProgress(intCounter);
“我的进度”的代码更改了句柄:

private void bwExecuteProcess_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
    int Progress = Convert.ToInt16(Math.Floor(((Convert.ToDecimal(e.ProgressPercentage) / Convert.ToDecimal(txtPartsList.Lines.Count()))) * 100));
    lblTotal.Text = string.Format("Total Processed: {0} of {1}", e.ProgressPercentage, txtPartsList.Lines.Count());
    lblReaderTime.Text = string.Format("Time Elapsed (sec): {0}", (swMainProcess.ElapsedMilliseconds / 1000));
    pgsMain.Value = Progress;

    lblPercentComplete.Text = string.Format("Percent Complete: {0}%", Progress);
    ttpMain.SetToolTip(pgsMain, string.Format("{0}% Complete", Progress));
}

加载文件时,可以从FileInfo(例如X)获取文件大小。然后可以创建一个缓冲区,以标准缓冲区大小Z移动文件。然后每次写入缓冲区后刷新流时,块百分比为Z/X*100。
int Progress = Convert.ToInt16(((Convert.ToDecimal(intCounter) / Convert.ToDecimal(txtPartsList.Lines.Count()))) * 100);
bw.ReportProgress(intCounter);
private void bwExecuteProcess_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
    int Progress = Convert.ToInt16(Math.Floor(((Convert.ToDecimal(e.ProgressPercentage) / Convert.ToDecimal(txtPartsList.Lines.Count()))) * 100));
    lblTotal.Text = string.Format("Total Processed: {0} of {1}", e.ProgressPercentage, txtPartsList.Lines.Count());
    lblReaderTime.Text = string.Format("Time Elapsed (sec): {0}", (swMainProcess.ElapsedMilliseconds / 1000));
    pgsMain.Value = Progress;

    lblPercentComplete.Text = string.Format("Percent Complete: {0}%", Progress);
    ttpMain.SetToolTip(pgsMain, string.Format("{0}% Complete", Progress));
}