我需要在列表视图中显示所选项目 我尝试在Form :: OnLoad中使用:
.Items.Add(lvItem);
....
lvItem.Selected = true;
....
.EnsureVisible(selectedIndex);
.Focus() // Make sure list view focused to allow navigate with hardware cursor keys immediate after form shows
此方法无法正常工作: 它只试图滚动listview。所选项目仍然不可见,用户需要向下滚动2个项目。
这个错误或功能吗?在FF TopItem属性中将该项目滚动到顶部(或尝试执行此操作)
Compact Framework不支持此方法的每个平台的所有版本。
是否可以在CF中模拟此属性?我的直接API调用?
P.S。第二个问题:如果我尝试使用滚动条滚动聚焦列表视图,则选择项目阻止。
使用硬件键滚动不会阻止以前自动选择的项目。
答案 0 :(得分:1)
如果我没记错,EnsureVisible没有正确考虑滚动条。我想我们只调用了EnsureVisible三次(selectedIndex + 1,selectedIndex-1和selectedIndex),并检查第一个和最后一个项目是否有适当的边界。