listView1.Columns[0].Dispose();用这条代码可以隐藏listview1中的第一列,但是如果用类似的代码重复隐藏多列会出现显示结果与自己需要得结果不符。
例如 listView1设为五列,其中我要隐藏头3列。
listView1.Columns[0].Dispose();
listView1.Columns[1].Dispose();
listView1.Columns[2].Dispose();
但是最终显示结果是:显示第2,3,5列(随便举得例子)
为什么会出现这种情况?是dispose()得问题么 ?如果要隐藏头3列应该怎么做?
例如 listView1设为五列,其中我要隐藏头3列。
listView1.Columns[0].Dispose();
listView1.Columns[1].Dispose();
listView1.Columns[2].Dispose();
但是最终显示结果是:显示第2,3,5列(随便举得例子)
为什么会出现这种情况?是dispose()得问题么 ?如果要隐藏头3列应该怎么做?
解决方案 »
- 关于c# webservice 的一个超难问题,非c#和java全会的高手不能解决啊!
- 用c#.net写一个登录框
- 在C#中如何调用WORD
- 基于B/S架构的报价系统
- 不会安装该公布应用程,因为它可能不安全。请与管理员联系将程序包的安装用户界面选项更改为基本
- 哪位大仙进来帮帮忙!
- System.Management.ManagementException: 不受支持
- 弱弱的问一下 winform的标签能不能设计成 其他形状 比如三角形 鱼形 如果不能 如何实现这个功能呢
- C#的初级问题?
- 请问C#中,在namespace前 Using的命名空间和从Refrence中加入的区别是什么?
- 初学.net,有问题要问。
- 求个控件缩放思路
而你在释放掉第一列后,以前的第二列就变成了第一列即columns[0],所以就会出现楼主所说的情况。以前 的第一列listView1.Columns[1].Dispose();
会释放掉现在的第二列即实际为Columns[2],而listView1.Columns[2].Dispose();则变化为以前的columns[4]