多线程下的 Lambda表达式 异步 WebClient 读取程序图标,来作为托盘 图标 logo ico
//读取程序图标,来作为托盘图标
this.notifyIcon.Icon = System.Drawing.Icon.ExtractAssociatedIcon(System.Windows.Forms.Application.ExecutablePath);
线程池
ThreadPool.QueueUserWorkItem(callBack =>
{
XiaoAoHelper.logout();
});
解决办法:
1.
直接在窗体的构造函数中加:System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;此时把所有的控件合法性线程检查全部都给禁止掉了。
Thread t2 = new Thread(() =>
{
for (int i = ; i <= ; i++)
{
this.BeginInvoke(new Action(() =>
{
progressBar1.Value = i * ;
}));
Thread.Sleep();
}
});
t2.IsBackground = true;
t2.Start();
private void CheckUpdateVersionAnsyn()
{
try
{
Uri endpoint = new Uri(string.Format("{0}v.aspx?timer={1}", App.Url, DateTime.Now.ToString()));
WebClient client = new WebClient();
var are = new AutoResetEvent(false); client.DownloadStringCompleted += (s, e) =>
{
are.Set(); if (e.Error == null)
{
int ver = ;
ver = ExecVaspx(e.Result);
base.Dispatcher.BeginInvoke(() =>
{
if (Application.Current.IsRunningOutOfBrowser)
{
OOBUpApp(ver);
}
else
{ reLogin(); }
});
}
else
{
base.Dispatcher.BeginInvoke(() =>
{
reLogin();
App.ShowMessage("网络连接失败,未获取到新版本!", AletrEnum.Error);
});
}
}; client.DownloadStringAsync(endpoint); if (!are.WaitOne())
{
base.Dispatcher.BeginInvoke(() =>
{
reLogin();
App.ShowMessage("网络连接失败,未获取到新版本!", AletrEnum.Error);
});
client.CancelAsync();
}
}
catch
{
base.Dispatcher.BeginInvoke(() =>
{
reLogin();
App.ShowMessage("发生系统性错误,无法更新!", AletrEnum.Error);
});
}
}
多线程下的 Lambda表达式 异步 WebClient 读取程序图标,来作为托盘 图标 logo ico的更多相关文章
- 转载 C#匿名函数 委托和Lambda表达式
转载原出处: http://blog.csdn.net/honantic/article/details/46331875 匿名函数 匿名函数(Anonymous Function)是表示“内联”方法 ...
- 深入学习C#匿名函数、委托、Lambda表达式、表达式树类型——Expression tree types
匿名函数 匿名函数(Anonymous Function)是表示“内联”方法定义的表达式.匿名函数本身及其内部没有值或者类型,但是可以转换为兼容的委托或者表达式树类型(了解详情).匿名函数转换的计算取 ...
- 匿名函数、委托和Lambda表达式
匿名函数 匿名函数(Anonymous Function)是表示“内联”方法定义的表达式.匿名函数本身及其内部没有值或者类型,但是可以转换为兼容的委托或者表达式树类型(了解详情).匿名函数转换的计算取 ...
- [深入学习C#] 匿名函数、委托和Lambda表达式
匿名函数 匿名函数(Anonymous Function)是表示“内联”方法定义的表达式.匿名函数本身及其内部没有值或者类型,但是可以转换为兼容的委托或者表达式树类型(了解详情).匿名函数转换的计算取 ...
- Android Studio 引入Lambda表达式
依次点击 [File][Other Settings][Default Project Structure]确保当前项目使用的JDK版本是1.8. 打开项目(Project)的build.gradle ...
- Lambda表达式之Python
一.lambda函数 1.lambda函数基础: lambda函数也叫匿名函数,即,函数没有具体的名称,而用def创建的方法是有名称的.如下: """命名的foo函数&q ...
- Python的lambda表达式
使用lambda来创建匿名函数,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python lambda还有哪些和def不一样呢? 1 python lambda会创建一个函数对象,但 ...
- 07_Java8新增的Lambda表达式
[Lambda表达式概述] Lambda表达式支持将代码块作为方法参数,Lambda表达式允许将使用简洁的代码来创建只有一个抽象方法的接口的实例.(这种接口称为函数式接口) [入门实例] packag ...
- Java 8 Lambda 表达式
Lambda 是啥玩意 简单来说,Lambda 就是一个匿名的方法,就这样,没啥特别的.它采用一种非常简洁的方式来定义方法.当你想传递可复用的方法片段时,匿名方法非常有用.例如,将一个方法传递给另外一 ...
随机推荐
- windows下无法创建django工程的问题
环境:python2.7 django1.7 安装好django后,将C:\Python27\Lib\site-packages\Django-1.7.7-py2.7.egg\django\bin; ...
- mozilla firefox 安装flash player
下载 flash player http://get.adobe.com/cn/flashplayer/ for linux .tar.gz文件 install_flash_player_11_li ...
- 【转】C#线程同步示例
using System; using System.Threading; // 银行帐户类 class Account { int balance; ...
- 探索软件工程道路上的我II (Θ∀Θ#)
------作业要求------ 第一版本程序Prog1:+ 给定一个数组,实现数组元素求和:具体要求:实现对一维数组(a[100])的所有元素相加运算.+ 数据准备:a)数组长度:100:b)数组数 ...
- sql文件批量导入mysql数据库
有一百多个sql文件肿么破?一行一行地导入数据库肯定是极其愚蠢的做法,但是我差点就这么做了... 网上首先找到的方法是:写一个xxx.sql文件,里边每一行都是source *.sql ...,之后再 ...
- 配置apache apache服务器如何配置多站点
http://jingyan.baidu.com/article/5225f26b07605be6fa090890.html 让Apache在启动时能加载虚拟主机模块. 打开Apache安装目录下co ...
- 2014嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛
比赛链接: http://202.197.224.59/OnlineJudge2/index.php/Contest/problems/contest_id/36 题目来源: 2014嘉杰信息杯ACM ...
- window.loaction和window.location.herf
href相当于打开一个新页面,replace相当于替换当前页面这里打开页面都是针对历史记录来说,在页面上看完全相同,只是浏览器的history表现不同如果在1.html中点击链接到2.html,然后2 ...
- js jquery实时计算输入字符
在项目中需要倒还可以输入多少字符
- JavaScript DOM 编程艺术·setInterval与setTimeout的动画实现解析
先贴上moveElement()函数的大纲,为了方便观看,删了部分代码,完整版粘到文章后面. function moveElement(elementID,final_x,final_y,interv ...