摘要: 要点:1、当在主线程中创建了一个线程,那么该线程的IsBackground默认是设置为FALSE的。2、当主线程退出的时候,IsBackground=FALSE的线程还会继续执行下去,直到线程执行结束。3、只有IsBackground=TRUE的线程才会随着主线程的退出而退出。4、当初始化一个线程,把Thread.IsBackground=true的时候,指示该线程为后台线程。后台线程将会随着主线程的退出而退出。5、原理:只要所有前台线程都终止后,CLR就会对每一个活在的后台线程调用Abort()来彻底终止应用程序。 阅读全文
posted @ 2011-03-16 17:35 Billy.rao 阅读(21027) 评论(4) 推荐(8) 编辑
摘要: 子线程如果要直接访问主线程下的控件,在调试模式下运行是会报错的,提示大致如下:线程间操作无效: 从不是创建控件“XXXX” 的线程访问它。解决办法,委托(代理)解决:假设子线程是想往listview1控件上绑定数据:第一步:public delegate void SafeBind(ListViewItem lvi);//跨线程访问控件的委托SafeBind safebind;第二步:public void BindListView(string title, string content) { ListViewItem lvi = new ListViewItem(DateTime.Now. 阅读全文
posted @ 2011-03-16 17:07 Billy.rao 阅读(1611) 评论(0) 推荐(0) 编辑
摘要: 一句话的事:假设定义时间单位枚举TimeUnitpublic enum TimeUnit { 秒, 分, 小时, 日, 周, 月, 年 }存在下拉框控件cb_timeUnit 绑定各种时间单位,转换的代码如下: TimeUnit tu = (TimeUnit)Enum.Parse(typeof(TimeUnit), cb_timeUnit.Text);tu 就是 string类型 转换为 TimeUnit枚举类型的值. 阅读全文
posted @ 2011-03-16 12:31 Billy.rao 阅读(6029) 评论(0) 推荐(0) 编辑
摘要: 本来只在Web.config下配置了一条:<system.web> <httpHandlers> <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/> </httpHandlers></system.web>只需要在以下节点处再添加一条带上一个name属性就可以用IIS6.1发布了:<system.webServer><handlers> <add na 阅读全文
posted @ 2011-03-16 12:18 Billy.rao 阅读(436) 评论(0) 推荐(0) 编辑