首页 > 编程语言 > 详细

线程间操作无效: 从不是创建控件“控件id”的线程访问它。(.net跨线程执行方法)

时间:2014-05-27 17:05:16      阅读:521      评论:0      收藏:0      [点我收藏+]

找了好久资料,终于解决了,特此记录下来。

bubuko.com,布布扣
1  delegate void DelListHandler(string number);
bubuko.com,布布扣

 

bubuko.com,布布扣
     /// <summary>
        /// 按标识删除listview内容
        /// </summary>
        /// <param name="number">标识</param>
        private void DelListViewLog(string number)
        {
            for (int i = 0; i < listView1.Items.Count; i++)
            {
                if ((string)listView1.Items[i].Tag == number)
                {
                    listView1.Items[i].Remove();
                }
            }

        } 
     
bubuko.com,布布扣
 1                //判断对lvInfo执行的方法是否跨线程
 2                         if (this.listView1.InvokeRequired)
 3                         {
 4                             //把删除lvInfo订单内容的方法交给委托回调DelListHandler去处理
 5                             DelListHandler dellisthandler = new DelListHandler(DelListViewLog);
 6                             this.listView1.BeginInvoke(dellisthandler, minfo.Order);  //异步去执行委托回调dellisthandler,删除lvInfo的订单内容
 7                         }
 8                         else
 9                         {
10                             //如果执行方法不是跨线程,那么就直接执行
11                             DelListViewLog(minfo.Order);
12                         }
bubuko.com,布布扣
 
bubuko.com,布布扣

 

线程间操作无效: 从不是创建控件“控件id”的线程访问它。(.net跨线程执行方法),布布扣,bubuko.com

线程间操作无效: 从不是创建控件“控件id”的线程访问它。(.net跨线程执行方法)

原文:http://www.cnblogs.com/shift/p/3753076.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!