DataGridView问题

urus8052 2010-09-09 05:31:17
this.dataGridView1 = new System.Windows.Forms.DataGridView();
为什么总是报“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”错误
...全文
199 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
wufanglu 2010-09-11
  • 打赏
  • 举报
回复
可能是DataGridView的思维开放,我们跟不上潮流,其功能包罗万象,像天空一样空。
wufanglu 2010-09-11
  • 打赏
  • 举报
回复
DataGridView做得好强大哇!!! 只是最最基本的功能做得不好。
多行标题、显示行号、对没排序功能的数据源进行默排序、多列排序、合并相同内容单元格、表脚总计、。。。
JXHLY 2010-09-11
  • 打赏
  • 举报
回复
学习了。。。
acivilian 2010-09-10
  • 打赏
  • 举报
回复
这句本身没有问题,应该是其他问题导致的。

如果你之前有执行不安全代码,导致内存错误,就可能出这样的问题。 我遇到过类似提示,后来发现是前面调用的C++代码有越界写操作。

即使设计器代码里已经生成过,再生成个新的也不应该有问题,系统会自动收拾以前生成的那个垃圾,只是没有必要而已。
createTim 2010-09-10
  • 打赏
  • 举报
回复
无聊,变个魔术,重启机器试试!
Rain_Franklin 2010-09-10
  • 打赏
  • 举报
回复
学习了。。。
urus8052 2010-09-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 crazyitboy 的回复:]
你的dataGridView1已经有了,不能再用new重新建。要用这个控件this.dataGridView1就可以用了,要新建一个dataGridView控件应该这样 DataGridView dataGridView1 = new System.Windows.Forms.DataGridView();
[/Quote]

dataGridView1还没有new呢,这个是在设计器生成的代码里面的

partial class CtrlServiceStaffFiles
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;

/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

#region 组件设计器生成的代码

/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
......
......
......
this.dataGridView1 = new System.Windows.Forms.DataGridView();(就是这句报错)
......
......
......
((System.ComponentModel.ISupportInitialize)(this.dataGridView1 )).BeginInit();
this.SuspendLayout();
......
......
......
((System.ComponentModel.ISupportInitialize)(this.dataGridView1 )).EndInit();
this.ResumeLayout(false);
}
private System.Windows.Forms.DataGridView dataGridView1 ;
}
meili1986814 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 crazyitboy 的回复:]
你的dataGridView1已经有了,不能再用new重新建。要用这个控件this.dataGridView1就可以用了,要新建一个dataGridView控件应该这样 DataGridView dataGridView1 = new System.Windows.Forms.DataGridView();
[/Quote]
我也这样认为
  • 打赏
  • 举报
回复
DataGridView dataGridView1 = new System.Windows.Forms.DataGridView();
有必要这么复杂吗?
System.Windows.Forms.
这个可以不写
纯唇Yu弄 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 crazyitboy 的回复:]
你的dataGridView1已经有了,不能再用new重新建。要用这个控件this.dataGridView1就可以用了,要新建一个dataGridView控件应该这样 DataGridView dataGridView1 = new System.Windows.Forms.DataGridView();
[/Quote]
++
shuai13869896140 2010-09-09
  • 打赏
  • 举报
回复
9楼正解```
wj0728 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 crazyitboy 的回复:]
你的dataGridView1已经有了,不能再用new重新建。要用这个控件this.dataGridView1就可以用了,要新建一个dataGridView控件应该这样 DataGridView dataGridView1 = new System.Windows.Forms.DataGridView();
[/Quote]
crazyitboy 2010-09-09
  • 打赏
  • 举报
回复
你的dataGridView1已经有了,不能再用new重新建。要用这个控件this.dataGridView1就可以用了,要新建一个dataGridView控件应该这样 DataGridView dataGridView1 = new System.Windows.Forms.DataGridView();
wuyq11 2010-09-09
  • 打赏
  • 举报
回复
DataGridView dataGridView1 = new System.Windows.Forms.DataGridView();
上下文环境
风之影子 2010-09-09
  • 打赏
  • 举报
回复
this.dataGridView1

控件的初始化代码一般放在设计代码文件里。

没见过这种写法。
龍月 2010-09-09
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20100105/16/7e1d4cc1-0a1b-4c4b-89d2-58527a2e2535.html
龍月 2010-09-09
  • 打赏
  • 举报
回复
有时是因为关闭程序时内存未能释放,或者是有些连接没能断开,我上次也有这个问题
龍月 2010-09-09
  • 打赏
  • 举报
回复
dataGridView1 是不是有了绑定的数据 了??
骆驼行者 2010-09-09
  • 打赏
  • 举报
回复
这个是不用new的
直接拖到窗体上用不就可以了
当然我没了解具体LZ的意思
LZ可以补充下,方便LX高人继续解答
加载更多回复(1)

111,129

社区成员

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

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

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