急求:c# StatusStrip 通过什么方式显示进度?

nanjing207 2008-12-26 11:41:14
今天公司交待了一项任务,让我弄清楚在c# 2008 里面StatusStrip 控件通过什么方式显示进度?急求高人指点,有示例最好。
...全文
447 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
king19840811 2008-12-26
  • 打赏
  • 举报
回复
根据你处理流程决定
例数据库的插入
先要计算一下你要往数据库中插入多少条数据
然后设置PB的Max属性为数据数量,Min为1
然后当你循环往数据库中插入数据的时候,设置PB的值+1:If PB.Value < PB.Max Then PB.Value = PB.Value + 1
比如你有100条数据需要插入,那就每插入一条之后将ProcessBar的值增加1%。
毅无涯 2008-12-26
  • 打赏
  • 举报
回复
进度条
jimmy_jpy 2008-12-26
  • 打赏
  • 举报
回复
恩,网上有相关例子,你可以去看看的
gxlqssjf 2008-12-26
  • 打赏
  • 举报
回复
同意楼上的说法
xiaoyanwei2000 2008-12-26
  • 打赏
  • 举报
回复
在里StatusStrip添加ToolStripProgressBar控件设置最大值,最小值和步进,配合timer使用
特别 2008-12-26
  • 打赏
  • 举报
回复
在里StatusStrip添加ToolStripProgressBar控件
flyjimi 2008-12-26
  • 打赏
  • 举报
回复
参考下面的代码,读取文件显示到textbox,显示读取进度。

private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{

FileStream fs = File.OpenRead(openFileDialog1.FileName);

toolStripProgressBar1.Minimum = 0;
toolStripProgressBar1.Maximum = (int)fs.Length;
toolStripProgressBar1.Value = 0;
toolStripProgressBar1.Step = 1;
Encoding encoding = Encoding.UTF8;
byte[] buffer = new byte[256];
int count = fs.Read(buffer, 0, buffer.Length);
while (count > 0)
{
toolStripProgressBar1.Value += count;
textBox1.Text += encoding.GetString(buffer);
Application.DoEvents();
count = fs.Read(buffer, 0, buffer.Length);
}
fs.Close();
}
}
sphinger 2008-12-26
  • 打赏
  • 举报
回复
帮顶
king19840811 2008-12-26
  • 打赏
  • 举报
回复
这可能要加个timer了(计算读取文件的总时间与当前读取的时间)。控制与进度条的当前进度与总进度的比例成正比;具体的情况。要你自己写了。思路是这样的
nanjing207 2008-12-26
  • 打赏
  • 举报
回复
我再把问题描述得更精确一些哈:
我们此次的项目要读取文件进行操作,当用户读取文件时,假如文件很大、读的时间很长,怕给用户造成程序已经卡住的印象,所以决定加一个进度条。但是我们想实现比较精确的进度控制,如果如2楼(xiaoyanwei2000)所说只能有一个大概的控制,不够精确(因为我们读的文件大小有差异,甚至差异很大),这时候再用2楼的方法就不太好了。6楼的方法好像不错,但能请你说得更具体一点吗?

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧