7天了!快崩溃了!关于datagridview控件“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”错误求解?

hufanrong12345 2013-10-03 05:31:26
就几行代码:
具体如下:

public void query()
{
StreamReader Sreader = new StreamReader(openFileDialog.FileName.ToString(), Encoding.Default);
string strline = string.Empty;
while ((strline = Sreader.ReadLine()) != null)
{
dataGridView.Rows.Add();
dataGridView.Rows[i].Cells[1].Value = strline.ToString();
}
}

private void input_button_Click(object sender, EventArgs e)
{
i = -1;
openFileDialog.ShowDialog();
dataGridView.Rows.Clear();
Thread querythread = new Thread(query);
Control.CheckForIllegalCrossThreadCalls = false;
querythread.Start();
}

代码做了简化,去掉了无用的美化的代码!
具体情况如下:
1.小弟想编写一个应用程序,可以把tet文本文档中的每一行的数据采用线程的方式读取到datagridview控件中!这就是这个程序的目的!
2.现在出现的问题是:调试程序的时候,出现如下图的错误:

“尝试读取或写入受保护的内存。这通常指示其他内存已损坏”
“System.AccessViolationException”类型的未经处理的异常出现在 System.Windows.Forms.dll 中。
已经7天了,就是找不出错误!
求各位高手指点指点呀!

一个很重要的特征就是,在datagridview控件中,都是在刚刚读满的时候出现这种错误信息的:如下图”
...全文
357 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kongguzuyin 2014-08-30
  • 打赏
  • 举报
回复
怎么解决的啊
失落的神庙 2013-10-04
  • 打赏
  • 举报
回复
而且 Sreader 也没关闭
宝_爸 2013-10-04
  • 打赏
  • 举报
回复
用多线程了?
hufanrong12345 2013-10-04
  • 打赏
  • 举报
回复
引用 6 楼 wawd74520 的回复:
而且 Sreader 也没关闭
问题已经解决了!
hufanrong12345 2013-10-03
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
花7天时间捣鼓个破程序,还没有结果,就不愿意花7分钟看看书,怎么使用多线程。
求版主指教一下啊
jt9079 2013-10-03
  • 打赏
  • 举报
回复
threenewbee 2013-10-03
  • 打赏
  • 举报
回复
花7天时间捣鼓个破程序,还没有结果,就不愿意花7分钟看看书,怎么使用多线程。
threenewbee 2013-10-03
  • 打赏
  • 举报
回复
Control.CheckForIllegalCrossThreadCalls = false; 掩耳盗铃。

110,534

社区成员

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

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

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