目录
一 设计原型
二 后台源码
一 设计原型
二 后台源码
namespace 处理耗时任务
{public partial class Form1 : Form{public Form1(){InitializeComponent();}bool IsRun = false;private string path = Directory.GetCurrentDirectory() + "\\古诗词.txt";private void button1_Click(object sender, EventArgs e){IsRun = true;}private void button2_Click(object sender, EventArgs e){IsRun = false;}private void Form1_Load(object sender, EventArgs e){label1.BackColor = Color.Green;string[] cons = File.ReadAllLines(path);int index = 0;Task.Run(() =>{while (true){if (IsRun){this.BeginInvoke(() =>{progressBar1.Value += 1;label1.Text = progressBar1.Value.ToString() + "%";if (progressBar1.Value == 100){progressBar1.Value = 0;}if (index == cons.Length){index = 0;richTextBox1.Clear();}richTextBox1.AppendText(cons[index] + "\r\n");index++;});}Thread.Sleep(100);}});}}
}
设计器自动生成代码:
namespace 处理耗时任务
{partial class Form1{/// <summary>/// Required designer variable./// </summary>private System.ComponentModel.IContainer components = null;/// <summary>/// Clean up any resources being used./// </summary>/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>protected override void Dispose(bool disposing){if (disposing && (components != null)){components.Dispose();}base.Dispose(disposing);}#region Windows Form Designer generated code/// <summary>/// Required method for Designer support - do not modify/// the contents of this method with the code editor./// </summary>private void InitializeComponent(){progressBar1 = new ProgressBar();button1 = new Button();button2 = new Button();label1 = new Label();richTextBox1 = new RichTextBox();SuspendLayout();// // progressBar1// progressBar1.Location = new Point(22, 14);progressBar1.Name = "progressBar1";progressBar1.Size = new Size(817, 23);progressBar1.Step = 1;progressBar1.TabIndex = 0;// // button1// button1.Location = new Point(301, 638);button1.Name = "button1";button1.Size = new Size(94, 29);button1.TabIndex = 1;button1.Text = "开始任务";button1.UseVisualStyleBackColor = true;button1.Click += button1_Click;// // button2// button2.Location = new Point(429, 638);button2.Name = "button2";button2.Size = new Size(94, 29);button2.TabIndex = 2;button2.Text = "暂停任务";button2.UseVisualStyleBackColor = true;button2.Click += button2_Click;// // label1// label1.AutoSize = true;label1.Location = new Point(382, 14);label1.Name = "label1";label1.Size = new Size(0, 20);label1.TabIndex = 3;// // richTextBox1// richTextBox1.Location = new Point(12, 46);richTextBox1.Name = "richTextBox1";richTextBox1.Size = new Size(827, 586);richTextBox1.TabIndex = 4;richTextBox1.Text = "";// // Form1// AutoScaleDimensions = new SizeF(9F, 20F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(841, 670);Controls.Add(richTextBox1);Controls.Add(label1);Controls.Add(button2);Controls.Add(button1);Controls.Add(progressBar1);MaximizeBox = false;MinimizeBox = false;Name = "Form1";Text = "耗时任务";Load += Form1_Load;ResumeLayout(false);PerformLayout();}#endregionprivate ProgressBar progressBar1;private Button button1;private Button button2;private Label label1;private RichTextBox richTextBox1;}
}