作者: Erase_Liu
查看: 1788|回复: 5
打印 上一主题 下一主题

[求助] System.InvalidOperationException 怎么解决呢?

[复制链接]
跳转到指定楼层
楼主
Erase_Liu 发表于 2016-4-18 17:36:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
查看: 1788|回复: 5
调用处:
[C#] 纯文本查看 复制代码
new Thread(new ThreadStart(this.UploadingListen)).Start();

方法处:
[C#] 纯文本查看 复制代码
        private void UploadingListen()
        {
            while (true)
            {
                Thread.Sleep(250);
                if (listDel == null || listDel.Count == 0) return;
                for (int i = 0; i < listDel.Count; i++)
                {
                    if (!listDel[i].File.Complete)
                    {
                        ((DataGridViewRow)listDel[i].File.Model).Cells[4].Value = listDel[i].File.Uploaded;
                    }
                    else
                    {
                        Console.WriteLine("删掉了{0}", i);
                        this.dataGridViewUploading.Rows.RemoveAt(i);
                        listDel.Remove(listDel[i]);
                        i--;
                    }
                }
            }
        }


QQ图片20160418173102.png (56.91 KB, 下载次数: 8)

错误信息

错误信息
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播
回复 论坛版权

使用道具 举报

沙发
 楼主| Erase_Liu 发表于 2016-4-18 19:34:22 | 只看该作者
板凳
Jowen 发表于 2016-4-19 08:46:05 | 只看该作者
用委托就可以啊,没有那么麻烦的啊
地板
 楼主| Erase_Liu 发表于 2016-4-19 10:08:20 | 只看该作者
Jowen 发表于 2016-4-19 08:46
用委托就可以啊,没有那么麻烦的啊

本人从事java开发,进一个月捡起了c#,所以知道有委托,但是机制问题不太懂
5#
Jowen 发表于 2016-4-22 08:59:28 | 只看该作者
Erase_Liu 发表于 2016-4-19 10:08
本人从事java开发,进一个月捡起了c#,所以知道有委托,但是机制问题不太懂 ...

委托实现一般有三个步骤:1.定义委托,一般建议用event修饰,这样的委托是安全的;2.绑定委托;3.委托调用.这几个网上都有好多例子,你可以去参考下,一般没有什么问题的。
6#
 楼主| Erase_Liu 发表于 2016-4-22 09:20:59 | 只看该作者
[C#] 纯文本查看 复制代码
        private UploadFileHelper file;

        public delegate bool UploadEventsHandler(UploadFileHelper file);
        public event UploadEventsHandler startUplodEvent;

        private UploadDelegate() : base() { }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="_filename">上传的文件名</param>
        public UploadDelegate(UploadFileHelper file)
        {
            this.file = file;
        }
        /// <summary>
        /// 开始一个线程,执行事件
        /// </summary>
        public void ThreadStart()
        {
            Thread thr = new Thread(new ThreadStart(this.StartUpload));
            thr.Start();
        }
        /// <summary>
        /// 开始事件
        /// </summary>
        public void StartUpload()
        {
            this.startUplodEvent(this.file);
        }

是类似于这种吗?
[C#] 纯文本查看 复制代码
        public delegate bool UploadEventsHandler(UploadFileHelper file);

可以找出其中的某一个执行吗?
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-4-24 17:55, Processed in 0.564383 second(s), 31 queries , Gzip On.

快速回复 返回顶部 返回列表