C#中进度条使用

2024-12-15 03:01:03
推荐回答(5个)
回答1:

对于一个进度条,无碍乎是最小最大值,以及当前值等一些重要的属性,至于方法,用得较多的是PerformStep()和PerformClick()之类的。代码如下:
private void btnRun_Click(object sender, EventArgs e)
{
btnRun.Enabled = false;

if (txtBoxTarget.Text.Equals(String.Empty) || txtBoxTimes.Text.Equals(String.Empty))
{
MessageBox.Show("请输入连接的URL和连接次数!", "提示",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}

int length = Int32.Parse(txtBoxTimes.Text.Trim());
string url = txtBoxTarget.Text.Trim();
double process = 0;
int show = 0;

DateTime rightNow = DateTime.Now;
DateTime end;
TimeSpan interval;

toolStripStatusLabel.Text = "连接中";
progressBar.Visible = true;
progressBar.Minimum = 0;
progressBar.Maximum = length;

for (int i = 1; i <= length; i++)
{
try
{

// 这两句是连接某个网页的。
WebRequest myRequest = WebRequest.Create(url);
WebResponse myResponse = myRequest.GetResponse();
myResponse.Close();
}
catch
{
txtBoxReport.Text = "网络连接有误!";
return;
}

progressBar.PerformStep();
process = i / length;
show = (int)process * 100;
}

progressBar.Visible = false;
toolStripStatusLabel.Text = "已就绪";
txtBoxReport.Text = "连接 " + url + " " + length + "次。";

end = DateTime.Now;
interval = end - rightNow;
txtBoxReport.Text += "\r\n共耗时" + interval.TotalMilliseconds + "毫秒。";

btnRun.Enabled = true; }

这是个按钮的实现方法,一旦按下,就会执行代码段中的内容。程序自动连接到某个网页,然后关闭,以此来作为计数,测试进度条是否正常。

这次,就以我自己的博客做小白鼠了,呵呵。结果当然是明显了,大家看看我的访问数量就知道了……可能测试进度条的目的变味了,不过还是要说明一下,写这个软件的目的只是作为学习,没有增加点击率,扰乱网络秩序的意思。如果有,就不是500,而是5000000了,这样更能看清楚进度条的走动。PS:尽管该软件叫VisitCheat。
运行情况如下:

进度条会慢慢走到终点,程序设计方法正常。

回答2:

this.progressBar1.Value = 0;程序开始
this.progressBar1.Maximum=最大值;

this.progressBar1.Value++;放在最后

这样,进度条的值从0慢慢增大到最后面,都满了。
你可以试一下的。
例如:
private void button1_Click(object sender, EventArgs e)
{
this.progressBar1.Value = 0;
this.progressBar1.Maximum = 10000;
for (int i = 0; i < 10000; i++)
{
this.progressBar1.Value++;
}

}

回答3:

做法是这样的:
用线程和委托,一个主线程,一个子线程。
子线程的工作:
①收集下载文件的信息:下载文件的名字、当前下载的是第几个文件、总共有多少文件。
②下载文件
③结合委托,实现子线程把收集的现在文件信息异步返回给主线程的某个指定方法。
主线程工作:
①设立一个指定的方法接受子线程返回来的信息
②将返回来的信息反映在滚动条上,决定进度条该前进多少长度。
顺便说一下,开启子线程是为了保证在下载文件的过程中,主线程的操作可以正常运行,不会出现卡死的情况。

回答4:

UpdateProgress

回答5:

用它的value值关联啊 赋值给value 至于你怎么得到这个值还要根据不同情况另做工作