【问题标题】:Calculate time of processing a rule and use in progress-bar计算处理规则的时间并在进度条中使用
【发布时间】:2014-01-03 20:30:15
【问题描述】:

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

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

请帮帮我。

my program picture

   private void button1_Click(object sender, EventArgs e)
    {
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            backgroundWorker1.RunWorkerAsync();
            Upload(@openFileDialog1.FileName);
        }
        else
        { }
    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    {
        for (int i = 1; i <= 100; i++)
        {

            Thread.Sleep(2);

            backgroundWorker1.ReportProgress(i);
        }
    }

    private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
    {

        progressBar1.Value = e.ProgressPercentage;

        this.Text = e.ProgressPercentage.ToString();
    }

【问题讨论】:

  • 当你加载一个文件时,你可以从 FileInfo 中获取文件的大小,比如 X。然后你可以创建一个缓冲区来移动具有标准缓冲区大小 Z 的文件。然后块百分比是 Z/X*每次写入缓冲区后刷新流时为 100。

标签: c#


【解决方案1】:

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

我的零件处理方法到此结束:

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));
}

【讨论】:

    猜你喜欢
    • 2023-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 2019-06-29
    相关资源
    最近更新 更多