BackgroundWorkerTestForWinForm/FormMain.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.ComponentModel;
using System.Threading;
using System.Windows.Forms;
using BackgroundWorkerExtensionLib;
using WinControlExtensionLib;
namespace BackgroundWorkerTestForWinForm
{
public partial class FormMain : Form
{
private readonly BackgroundWorker bw;
public FormMain()
{
InitializeComponent();
bw = BackgroundWorkerExtension.InitNewBackgroundWorker(bw_DoWork, bw_ProgressChanged, bw_RunWorkerCompleted);
}
void bw_DoWork(object sender, DoWorkEventArgs e)
{
var ce = e.Argument as CustomerDoWorkEventArgs;
BackgroundWorker cBw = ce.ExecBackgroundWorker;
btnCancel.SetControlEnable(this, true);
int count;
if (!int.TryParse(ce.ExecParameter.ToString(),out count))
{
count = 10;
}
for (int i = 0; i < count; i++)
{
if (!cBw.CancellationPending)
{
cBw.ReportProgress(i, "正在处理第" + i + "条数据");
Thread.Sleep(500);
}
else
{
e.Cancel = true;
return;
}
}
}
void bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
var userState = e.UserState;
lblMessage.Text = "正在处理" + e.ProgressPercentage;
lsRes.Items.Add(userState);
}
void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
btnCancel.Enabled = false;
if (e.Cancelled)
{
MessageBox.Show("取消成功");
后面还有 28 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。