|
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace WindowsFormsApplication1
- {
- public partial class Form1 : Form
- {
- int j = 0;
- public Form1()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- BackgroundWorker mWorker = new BackgroundWorker();
- mWorker.WorkerSupportsCancellation = true;
- // SumX要执行main函数
- mWorker.DoWork += new DoWorkEventHandler(SumX);
- // xxx是一个被调函数,可用于最后结果的输出以及显示
- mWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(xxx);
- mWorker.RunWorkerAsync();
- }
- private void SumX(object sender, EventArgs e)
- {
- for (int i = 0; i < 1000; i++)
- {
- j=j+i;
- }
- }
- private void xxx(object sender, EventArgs e)
- {
- // 全局变量j
- this.textBox1.Text = j.ToString();
- }
- }
- }
复制代码 通过mWorker.DoWork += new DoWorkEventHandler(SumX);使得C#窗体界面不会卡顿,即将主进程变为附加进程进行使用。
j是个全局变量;winform界面显示0-999的累加和;
百度网盘代码分享:https://pan.baidu.com/s/1nw16BGH
|
|