首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

listbox删除对象,调用invoke出现错误NullReferenceException

2012-01-30 
listbox删除对象,调用invoke出现异常NullReferenceException在对listBoxWell(ListBox)的删除中,由于Remove

listbox删除对象,调用invoke出现异常NullReferenceException
在对listBoxWell(ListBox)的删除中,由于RemoveAwellInfo从另一个线程调用,采用了invoke方法(具体见listBoxWellsRemove).问题是在语句:   listBoxWells.Invoke(d,   obj);     时出现NullReferenceException异常,已经确定obj和d是非空的.而且异常出现的不规则,调用几次才出现一次,有时2,3次,有时4,5次.
另外listBoxWell中对象全部是WellInfo.

void   RemoveAwellInfo(WellInfo   wellInfo)
                {
                        listBoxWellsRemove(wellInfo);
                }
       
delegate   void   listBoxWellsRemoveCallBack(Object   obj);    

        private   void   listBoxWellsRemove(Object   obj)
                {
                        if   (listBoxWells.InvokeRequired)
                        {
                                listBoxWellsRemoveCallBack   d   =   new   listBoxWellsRemoveCallBack(listBoxWellsRemove);
                                listBoxWells.Invoke(d,   obj);     //出现System.NullReferenceException异常!!
                        }
                        else
                        {
                                listBoxWells.Items.Remove(obj);
                        }
                }


[解决办法]
线程同步问题
[解决办法]
学习中~~
友情UP
[解决办法]
Up

热点排行