c# - 如何使用 Compact Framework 获取 ListView 中最可见的项目?

标签 c# listview compact-framework

如何使用 .NET Compact Framework 3.5 版获取 C# ListView 中顶部可见项的索引? Compact Framework 在 ListView 类中没有 TopItem 属性。

我的目标是检索索引,刷新包含数据库数据的 ListView,并在刷新完成后返回到该项目。我可以使用 EnsureVisible(int index) 方法自动滚动,但我首先需要索引。

最佳答案

我无法解释为什么没有用于此的 CF 属性,因为底层 Win32 控件支持它。您必须使用 LVM_GETTOPINDEX 常量调用 SendMessage。沿着这些线的东西:

private const int LVM_GETTOPINDEX = 0x1027;

[DllImport("coredll.dll", SetLastError = true)]
static extern int SendMessage(IntPtr hWnd, int msg, int wParam, int lParam);

public static int GetTopIndex(this ListView lv)
{
    return SendMessage(lv.Handle, LVM_GETTOPINDEX, 0, 0);
}

关于c# - 如何使用 Compact Framework 获取 ListView 中最可见的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29609928/

相关文章:

Android listview 复制滚动上的项目

c# - 检索 Windows Mobile 浏览器历史记录

android - 如何在 android ListView 中设置页脚以动态拉伸(stretch)到底部?

.net - 检测程序集是否是为 .NET Compact Framework 构建的

.net - .NET Compact Framework 应用程序中的版本号

c# - 创建 Windows 桌面应用程序的可执行 exe 文件

c# - Windows 服务不执行 OnStart()

c# - 无法加载文件或程序集 'Oracle.DataAccess 错误

c# - SignalR 连接不会启动到 IIS 托管的应用程序

c# - 在带有 LinqDataSource 的 ASP.NET ListView 上,单击搜索按钮时显示数据