进度条使用【一】:使用Timer控件
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace 进度条测试
{
public partial class MyProcessBar : Form
{
public MyProcessBar()
{
InitializeComponent();
}
StringBuilder sb = new StringBuilder();
private void MyProcessBar_Load(object sender, EventArgs e)
{
progressBar1.Maximum = Convert.ToInt32(txtLenth.Text);
}
private void btnStart_Click(object sender, EventArgs e)
{
timer1.Start();
sb.AppendLine("您点击了开始!");
RenderMsg();
}
private void timer1_Tick(object sender, EventArgs e)
{
this.progressBar1.Value += 1;
sb.AppendFormat("{0} 进度条进行中({1}/{2})......\r\n", DateTime.Now.ToLongTimeString(), progressBar1.Value, progressBar1.Maximum);
RenderMsg();
}
private void btnStop_Click(object sender, EventArgs e)
{
timer1.Stop();
sb.AppendLine("您点击了暂停!");
RenderMsg();
}
private void btnEnd_Click(object sender, EventArgs e)
{
timer1.Stop();
progressBar1.Value = 0;
sb.AppendLine("您点击了停止!");
RenderMsg();
}
private void RenderMsg()
{
//Winform如何让滚动条滚动到最后一行.
txt_msg.Text = sb.ToString();
txt_msg.SelectionStart = txt_msg.TextLength;
txt_msg.ScrollToCaret();
}
}
}