DataGridView 出现大红叉问题

yueqing 2007-10-31 06:50:28
主进程 创建一个子线程 在子线程里 操作DataGridView,有时DataGridView会出现一个大大的红叉,还有弹出信息“未将对象设置到对象引用的实例”。我还有一个空间label显示DataGridView中数据行数,label显示正确。

原来代码
dgvSeatMaintenance.DataSource = dsSeatAgentShift;
dgvSeatMaintenance.DataMember = "Table";
有大红叉出现。

后来改成:
dgvSeatMaintenance.Invalidate();
dgvSeatMaintenance.DataSource = null;
dgvSeatMaintenance.DataSource = dsSeatAgentShift.Tables[0];
dgvSeatMaintenance.Invalidate();

在本人机器上不会出现大红叉了,在测试员机器上有时还是会出现大红叉。

各位牛人 有碰到过类似情况吗?
...全文
1021 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
风中一匹狼 2011-06-17
  • 打赏
  • 举报
回复
lz怎么写委托的啊,告诉我一声,我也出现累死问题了,还报未将对象引用添加到对象的实例,QQ:825024051
yueqing 2007-11-09
  • 打赏
  • 举报
回复
没有用委托造成的 后来改成委托就没这问题了
不知道以前写的人怎么没用委托居然也能用 害得我偷懒没去改出这问题了
yueqing 2007-11-01
  • 打赏
  • 举报
回复
如果把这个子线程放到 主进程里面(不单独提取执行,顺着主进程一步一步执行) 不会有红叉出现。


原来代码 子线程执行 跟代码时不会出现红叉情况
dgvSeatMaintenance.DataSource = dsSeatAgentShift;
dgvSeatMaintenance.DataMember = "Table ";
yueqing 2007-11-01
  • 打赏
  • 举报
回复
to:sunnyfigo 控件重名?你是说主进程里的dgvSeatMaintenance 在子线程里使用吗?

一共就一个DataGridView控件 名字叫:dgvSeatMaintenance
ajqn0920 2007-10-31
  • 打赏
  • 举报
回复
同意楼上
sunnyfigo 2007-10-31
  • 打赏
  • 举报
回复
是不是控件重名了

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧