using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace V.A10__ProgressBar控件_1_ { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //输出日志 public void outlog(string str) { textBox2.AppendText(DateTime.Now.ToString() + str + "\n"); } private void timer1_Tick(object sender, EventArgs e) { //if (progressBar1.Value > progressBar1.Minimum) //{ // double i; // //递减 // progressBar1.PerformStep(); // //1-当前值/最大值 = 进度百分比 // //i = Math.Floor((1 - (Convert.ToDouble(progressBar1.Value) / Convert.ToDouble(progressBar1.Maximum))) * 100); // i = Math.Floor(((Convert.ToDouble(progressBar1.Value) / Convert.ToDouble(progressBar1.Maximum))) * 100); // outlog("进度条正在工作,已经完成" + i.ToString() + "%"); //} //else //{ // outlog("进度已完成!"); // timer1.Stop (); // button1.Enabled = true ; // button2.Enabled =false ; // button3.Enabled=false ; // button4.Enabled =false ; //} if (progressBar1.Value < progressBar1.Maximum ) { double i; //递减 progressBar1.PerformStep(); //1-当前值/最大值 = 进度百分比 //i = Math.Floor((1 - (Convert.ToDouble(progressBar1.Value) / Convert.ToDouble(progressBar1.Maximum))) * 100); i = Math.Floor(((Convert.ToDouble(progressBar1.Value) / Convert.ToDouble(progressBar1.Maximum))) * 100); outlog("进度条正在工作,已经完成" + i.ToString() + "%"); } else { outlog("进度已完成!"); timer1.Stop(); button1.Enabled = true; button2.Enabled = false; button3.Enabled = false; button4.Enabled = false; } } private void Form1_Load(object sender, EventArgs e) { //progressBar1.Value = 50; //progressBar1.Increment(100); button2.Enabled = false; button3.Enabled = false; button4.Enabled = false; } private void button1_Click(object sender, EventArgs e) { try { if (textBox1.Text.Trim() != "") { progressBar1.Minimum = 0; progressBar1.Maximum = Convert.ToInt32(textBox1.Text); //progressBar1.Value = Convert.ToInt32(textBox1.Text); //progressBar1.Step = -1; //设置增量 progressBar1.Value = 0; progressBar1.Step = 1; button1.Enabled = false; button2.Enabled = true; outlog( "时间设置正确,请按开始继续....."); } } catch { MessageBox.Show("请输入正确的秒数(必须为整数)"); } } private void button2_Click(object sender, EventArgs e) { button2.Enabled = false; button3.Enabled = true ; button4.Enabled = true; timer1.Start(); } private void groupBox1_Enter(object sender, EventArgs e) { } private void button3_Click(object sender, EventArgs e) { //暂停 if (timer1.Enabled == true) { outlog("进度条已暂停!"); button3.Text = "继续"; timer1.Stop(); }else { outlog("进度条已继续工作!"); button3.Text = "暂停"; timer1.Start(); } } private void button4_Click(object sender, EventArgs e) {//停止 outlog("进度条停止工作! \n ============================================================================"); timer1.Stop(); timer1.Enabled = false; progressBar1.Value = 0; button1.Enabled = true; button2.Enabled = false; button3.Enabled = false; button4.Enabled = false; button3.Text = "暂停"; } } } |
|
来自: 时间剧毒 > 《第十二章:Windows窗体技术及基础控件》