WinForm中异步执行任务实例-按回车异步执行各任务。
来源:互联网 发布:mac sass安装教程 编辑:程序博客网 时间:2024/04/28 19:09
//声明委托 , 用于在线程内操作线程外的控件
private delegate void SetTextCallback(Label lbl,string text);
private void txtValidateCode_KeyPress(object sender, KeyPressEventArgs e)
{
if ((int)e.KeyChar == 13)
{
//if (endPosition)
// {
// FrmBaidu frmMain = (this.ParentForm as FrmBaidu);
// frmMain.LoadUserControl();
//}
lblNote.Text = "";
TextBox validateCode = sender as TextBox;
if (validateCode.Text == "")
{
e.Handled = false;
lblNote.Text = "请输入验证码!";
}
else
{
StartSomeWorkFromUIThread();
SendKeys.SendWait("{Tab}");
}
}
}
private void StartSomeWorkFromUIThread()
{
// 我们要做的工作相对UI线程而言台慢了,用下面的方法异步进行处理
MethodInvoker mi = new MethodInvoker(RunsOnWorkerThread);//这是入口方法
mi.BeginInvoke(null, null); // 这样就不会阻塞
}
// 缓慢的工作在此方法内进行处理,使用线程池里的线程
private void RunsOnWorkerThread()
{
try
{
//doing something......
}
catch (Exception ex)
{
SetText(lblNote,ex.Message);
}
}
//在线程内操作线程外的控件
private void SetText(Label lbl, string text)
{
// InvokeRequired required compares the thread ID of the
// calling thread to the thread ID of the creating thread.
// If these threads are different, it returns true.
if (lbl.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
this.Invoke(d, new object[] { lbl,text });
}
else
{
lbl.Text= text;
}
}
- WinForm中异步执行任务实例-按回车异步执行各任务。
- springmvc中执行异步任务
- 异步任务执行之-队列
- Android 异步任务AsyncTask,执行下载任务
- spring执行同步任务和异步任务
- celery异步执行任务在Django中的应用实例
- Android中AsyncTask(异步执行任务)的使用
- 实现增强的异步任务执行组件
- java 异步执行任务,返回进度
- Spring Batch任务的异步执行
- 使用GCD异步和同步执行任务
- 同步、异步转化和任务执行
- 任务调度与异步执行器
- Android AsyncTask实现异步任务的执行
- 多任务异步执行dispatch_group_async的使用
- ActiveJob + sidekiq做异步执行任务
- Android使用IntentService执行异步任务
- Celery+django+redis异步执行任务
- Android官网Activities文档翻译
- Struts2中过滤器和拦截器的区别
- Could not transfer artifact *************** from/to central (http://repo1.maven.org/maven2
- Java中Map、Set集合的遍历
- CSDN客服好给力
- WinForm中异步执行任务实例-按回车异步执行各任务。
- C# ASP.NET 后台界面加载时调用前台JavaScript脚本:Attributes.Add()
- DP - hdu5001 Walk
- 关于 The underlying provider failed on Open
- 【C++】双向链表
- jS和Oc互调
- vi命令行替换
- java 截取汉字
- 修改我的文档等的路径