社区
C#
帖子详情
listview显示文件数目有限制吗?
shuimuyi
2007-04-02 12:01:03
用treeview 和listview做的资源管理器
在treeview上双击树接点,打开一个文件夹的时候,当该文件夹下有很多.doc文件(2544个,共36.6 MB),要显示在listview中,这个时候加载显示抛出异常。请问各位这个异常该怎么解决才好呢?
听说是listview打开数量有限制 ,可能吧。具体不知道,所以来问下各位。谢谢了。
...全文
342
12
打赏
收藏
listview显示文件数目有限制吗?
用treeview 和listview做的资源管理器 在treeview上双击树接点,打开一个文件夹的时候,当该文件夹下有很多.doc文件(2544个,共36.6 MB),要显示在listview中,这个时候加载显示抛出异常。请问各位这个异常该怎么解决才好呢? 听说是listview打开数量有限制 ,可能吧。具体不知道,所以来问下各位。谢谢了。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shuimuyi
2007-04-04
打赏
举报
回复
没有遇到没有图标句柄的文件。
FromHandle()和SHGetFileInfo()参数是有效的。
可能 读文件超时,可是 不知道该如何测试这个。
shuimuyi
2007-04-04
打赏
举报
回复
来通知下热心的朋友们。该问题总算是被处理掉了,可以松了口气了。
原来放在
DestroyIcon(fi.hIcon); // Cleanup
imageList.Images.Add(ic); //添加到ImageList,可放图标和图片,只做一个转换用
继续抛异常。
现在换为:
Icon ic=Icon.FromHandle(fi.hIcon);
imageList.Images.Add(ic); //添加到ImageList,可放图标和图片,只做一个转换用
DestroyIcon(fi.hIcon); // Cleanup
总算一切平安了。
shuimuyi
2007-04-04
打赏
举报
回复
LisrimageList.Images.Add(ic0);
LisrimageList2.Images.Add(ic0);
DestroyIcon(ic0.Handle); // 在这个地方新添加了 释放icon句柄的代码 异常仍然存在
listView1.Clear();
shoushii
2007-04-03
打赏
举报
回复
估计是读文件超时吧!
曲滨_銘龘鶽
2007-04-03
打赏
举报
回复
这个错误应该是 SHFILEINFO 就是错误的
是不是你遇到了没有图标句柄的,文件了
也就是说之前的 api 取得的
Icon.FromHandle(fi.hIcon);
这行出的错误,和 treeview 什么的一点关系也没有
出错的时候看看,fi 里面的其他信息是否都正常!
spkl1
2007-04-03
打赏
举报
回复
检查下FromHandle()和SHGetFileInfo()
参数是否有效
bitpolar
2007-04-02
打赏
举报
回复
这个异常应该不是因为数量引起的
貌似以前加载的数量比这个多的多
把你的异常详细信息贴出来把
shuimuyi
2007-04-02
打赏
举报
回复
按一个同仁的相同的异常开帖问题解决方法:
protected virtual Icon myExtractIcon(string FileName,int iIndex)
{
try
{
IntPtr hIcon=(IntPtr)ExtractIcon(this.Handle,FileName,iIndex);
if(! hIcon.Equals(null))
{
Icon icon=Icon.FromHandle(hIcon);
return icon;
}
}
catch(Exception ex)
{ MessageBox.Show(ex.Message,"1错误提示",0,MessageBoxIcon.Error);}
return null;
}
用if(hIcon != System.IntPtr.Zero) 替换 if(! hIcon.Equals(null)) 无作用。
shuimuyi
2007-04-02
打赏
举报
回复
刚刚用了一个简单版的测试了下。bug如下:
protected virtual void SetIcon(ImageList imageList,string FileName,bool tf)
{
SHFILEINFO fi=new SHFILEINFO();
if(tf==true)
{
int iTotal=(int)SHGetFileInfo(FileName,0,ref fi,100, 16640); //SHGFI_ICON|SHGFI_SMALLICON
try
{
if(iTotal >0)
{
Icon ic=Icon.FromHandle(fi.hIcon);
imageList.Images.Add(ic);
}
}
catch(Exception ex)
{ MessageBox.Show(ex.Message,"2错误提示",0,MessageBoxIcon.Error);}
}
else
{
int iTotal=(int)SHGetFileInfo(FileName,0,ref fi,100, 257);
try
{
if(iTotal >0)
{
Icon ic=Icon.FromHandle(fi.hIcon);
imageList.Images.Add(ic);
}
}
catch(Exception ex)
{ MessageBox.Show(ex.Message,"3错误提示",0,MessageBoxIcon.Error);}
}
}
异常信息:
传递到icon的win32句柄无效或者类型错误。
bitpolar
2007-04-02
打赏
举报
回复
加载之前先BeginUpdate
结束之后EndUpdate
shuimuyi
2007-04-02
打赏
举报
回复
谢谢FlashElf(銘龘鶽)提醒。知道了。
没帖代码的原因是,在treeview中打开其他的文件夹都没问题。只有打开这个大文件夹才出现异常。虽然抛异常,在listview中还是可以看到该文件夹下的文件的,加载很慢。
曲滨_銘龘鶽
2007-04-02
打赏
举报
回复
treeview 和listview 有限制不过很大
可能是 int32 的最大值
不过一般没等到那个数字,你就没内存了
CSDN 这地方帖子象洪水一样,如果问问题
最好写的详细点。
这样也好回答,要不下次谁还来找你这个贴。
vfp6.0系统免费下载
vf6.0,要考二级没系统的下哈 Microsoft Visual FoxPro 6.0 for Windows 的常见问题 这些是有关 Microsoft Visual FoxPro 最常见的问题。在您求助 Microsoft 产品支持服务之前,请先查阅这张列表。 若想打印这些附注,请从“文件”菜单中选择“打印”命令。此文档分为以下四部分: --------------------------------------------------------------------- 部分 1. 技术支持与市场 部分 2. Visual FoxPro 6.0 新增功能 部分 3. 从其他版本的 FoxPro 和 Visual FoxPro 中移植 部分 4. Visual FoxPro 常见问题 --------------------------------------------------------------------- 部分 1. 技术支持与市场 问题 1-1: 从何处可以获得产品的更新版本? 答案: 在 Visual FoxPro 的 Web 站点上即可获得产品的更新信息,其中包括有关 Service Pack 和更新的示例、向导及其他代码的信息,该站点的网址为: www.microsoft.com/vfoxpro 请定期查看该网站,以便下载产品的最新版本。 问题 1-2: 从何处可以得到有关 Visual FoxPro 的详细资料? 答案: 通过 Microsoft Visual FoxPro Web 站点是随时获得各种最新产品发布信息的最佳途径。在此站点上不仅有新的产品公告,而且还提供了产品的更新信息、技术文章、白皮书、专业开发人员设计的优秀示例、会议公告、以及与其他许多 FoxPro web 站点的各种链接。 问题 1-3: 如何获得技术支持,以及如何报告软件错误? 答案: Microsoft Visual FoxPro Web 站点已经链接到了多种联机支持选项,其中包括覆盖面广阔的有关所有产品 Microsoft Knowledge Base(Microsoft 知识库)。您还可以阅读一份有关常见问题的清单。除联机支持之外,还可以直接通过电话获得技术支持。“帮助”菜单中的选项可列出技术支持的电话号码。这些电话号码也可用于报告产品中的错误。 问题 1-4. 什么是 Knowledge Base?如何使用它? 答案: Knowledge Base 是内容广泛的论文集,覆盖了如何使用产品的各种特性、已知的软件错误及其解决方案或回避的方法、以及其他有助于使用各种 Microsoft 产品的有用信息。通过以下站点可访问整个 Knowledge Base: support.microsoft.com 问题 1-5: 是否会有 Visual FoxPro 6.0a? 答案: Microsoft 公司一向承诺为用户提供高质量的产品。如果确实需要,我们将提供 Visual FoxPro 6.0 的错误修订版。但是,修订版不会使用 6.0a 版的形式。Visual FoxPro 6.0 中任何错误的修正都将包含在 Visual Studio Service Pack 中。同时还会在 Visual FoxPro 的 www.microsoft.com/vfoxpro 或 Visual Studio 的www.microsoft.com/vstudio 的 Web 站点上发布修订公告。 问题 1-6: Microsoft 公司为应用程序的开发提供了一些优秀的解决方案。怎样才能知道应该向客户推荐和使用哪种产品? 答案: 在选择适用某项任务的产品时,需要考虑多方面的因素。Microsoft Visual FoxPro web 站点上有一份优秀的策略背景论文,它比较了 Visual FoxPro、Visual Basic、SQL Server 和 Access 等 Microsoft 产品之间的不同。 问题 1-7: 哪里可以找到 Visual FoxPro 的使用示例? 答案: Visual FoxPro 6.0 产品中带有丰富的示例,其中有一些是针对 6.0 版特有功能的新示例。与 Visual FoxPro 以前的版本不同,这些示例将与所有 Visual Studio 示例安装在一起。您必须运行 MSDN Library 的“自定义”安装来安装这些示例。在 Visual FoxPro 中可使用新的 HOME(2) 函数方便地找到已安装示例的位置。 除了产品中所自带的示例外,Microsoft Visual FoxPro web 站点还将经常提供新的示例。
SetNumberOfEntries.rar
Android RecyclerView 页面设置item显示的
数目
(设置item显示在屏幕的数量),写的比较简略 具体应用到自己的项目中可以自己修改
ListView
控件使用:显示指定item
数目
和屏蔽item选中效果
在android的界面布局中,我们常用到
ListView
控件,有时候并不需要item被选中有任何效果,怎么实现呢? 很简单,在
ListView
的XML布局文件中设置一个属性: android:listSelector="#00000000" //为透明无色
android
listview
嵌套gridview,并实现grid元素部分显示以及点击展开与折叠
有时我们需要用GridView显示目录列表,有时甚至是二级的,即
listview
每一个item里面又各自嵌入一个gridview,但是当二级目录(数据条目)的数量过多时,界面会比较臃肿,这时我们就想要有类似展开与折叠的效果,作者采用的策略是数据分段的分别显示,其中对于显示边界(处于
限制
显示
数目
的特定位置)的控件要有数据的动态更新和点击判断操作。效果如图: 具体实现:
listview
嵌套gridview,并实现grid元素部分显示以及点击展开与折叠
有时我们需要用GridView显示目录列表,有时甚至是二级的,即
listview
每一个item里面又各自嵌入一个gridview,但是当二级目录(数据条目)的数量过多时,界面会比较臃肿,这时我们就想要有类似展开与折叠的效果。作者采用的策略是数据分段的分别显示,其中对于显示边界(处于
限制
显示
数目
的特定位置)的控件要有数据的动态更新和点击判断操作。
C#
111,097
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章