我有一个ListView显示约300项。 当有东西被改变,我需要重新填充列表,我希望滚动位置不变,所以相同的项目仍然可见,并在列表中的相同位置。 “EnsureVisible”方法很糟糕,因为它符合“Visible”,而不是相同的位置(结果是感兴趣的项目总是滚动到列表的底部)。
我对这个问题的解决scheme是保存(我的)“ID”的List-> TopItem,重新填写列表,然后调用List-> TopItem = newItemWithSameID(需要设置两次,出于某种原因工作)。 这对于基本的“未分组”列表来说是一种魅力。
但是 – 如果列表中有“ShowGroups = true”,这是行不通的。 TopItem属性将永远是列表中的第一个项目,而不是文档中所说的第一个VISIBLE项目。
有解决scheme吗? 我search了一下,发现了另一个失去灵魂的同样的问题。 他有一个相当有趣的讨论微软的支持,没有成功。(http://social.msdn.microsoft.com/Forums/en/winforms/thread/8a81c5a6-251c-4bf9-91c5-a937b5cfe9f3)。
是否有可能在VB.net中包含两个具有相同名称的DLL库?
c#如何使用新版本的助手API
C#窗体不呈现控件
我可以以编程方式对文件共享执行“净使用”吗?
exception错误对话框
所以 – 我的问题是:有没有解决方法? 我真的需要把这个列表分组,当我的列表跳转时,我真的很讨厌。
我不会在这里粘贴任何代码,因为所有需要重现的代码都在上面的讨论中。
非常感谢!
使用c#在本地注销Windows用户
如何获得任务栏的背景颜色
C#同步进程启动
VC ++ MFC在不久的将来会过时吗?
public ListViewItem RealTopItem { int i = 0; while (i < Items.Count && !ClientRectangle.Contains(Items[i].Bounds)) i++; return Items[i]; }
不幸的是,在我的代码中工作了一年之后,最近在while语句中的客户失败了。 在我的故障排除中,我首先尝试关闭组,并且问题消失了。 然后当我再次激活组时,问题再也没有发生。 我不知道现在有什么可能是错的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。