进度条ProgressBar

先展示效果界面
这个功能包括:初始化进度条长度;进度读取中的暂停,继续;将读取进度条的日志写入textbox里并写成日志.txt。
用到的控件:lable 2个,textbox 2个,button3个,ProgressBar

      private void Btn_Start_Click(object sender, EventArgs e)
        {
            if (txt_ProgressBar.Text == "")
            {
                MessageBox.Show("请输入进度条长度");
            }
            else 
            {
                progressBar1.Value = 0;//当前进度
                progressBar1.Minimum = 0;//最小值
                progressBar1.Maximum = Convert.ToInt32(txt_ProgressBar.Text.Trim());  //最大值                            
                timer1.Enabled = true;               
            }
        }
        //暂停
        private void Btn_Pause_Click(object sender, EventArgs e)
        {
            if (timer1.Enabled == true) 
            {
                timer1.Enabled = false;
                MessageBox.Show("进度条已暂停!");
                Btn_Pause.Text = "继续";
            }
            else 
            {                
                timer1.Enabled = true;
                Btn_Pause.Text = "暂停";
            }
        }
        //停止
        private void Btn_Stop_Click(object sender, EventArgs e)
        {  
            //关闭timer        
            timer1.Enabled = false;
            MessageBox.Show("进度条已停止!");
            progressBar1.Value = 0;
        }
        //设置进度条的前进
        private void timer1_Tick(object sender, EventArgs e)
        {            
            if (progressBar1.Value < progressBar1.Maximum)
            {
                progressBar1.Value++;
                //显示Mag
                string msg=progressBar1.Value.ToString() + "/" + progressBar1.Maximum;
                //调用write写方法
                write(msg);
                //AppendText追加字符串方法 一次写到txtLogo
                txtLogo.AppendText(DateTime.Now.ToString("HH:mm:ss") + "   " + msg + "\r\n");        
            }
            else
            {
                timer1.Enabled = false;  
                MessageBox.Show("进度已完成!");
            }
        }     
        //写入日志.txt
        public void write(string msg) 
        {
            //获取当前程序目录
            string Logpath = Path.GetDirectoryName(Application.ExecutablePath);
            //新建文件
            System.IO.StreamWriter sw = System.IO.File.AppendText(Logpath + "/日志.txt");
            //写入内容
            sw.WriteLine(DateTime.Now.ToString("HH:mm:ss") + "  " + msg);
            //关闭数据流
            sw.Close();
            //释放数据流
            sw.Dispose();
        }
这个进度条长度是自己写的,一般我们要下载的时候用到进度条的时候,进度条长度是下载内容的总条数即可。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值