.Net Compact Framework和MultiSelect ListView

时间:2013-07-24 14:40:57

标签: c# .net listview windows-mobile compact-framework

所以我有一个带有ListView的C#.Net Compact Framework 3.5应用程序。 ListView应该是MultiSelect(通过在文件资源管理器中拖动它们一次选择多行)。

因为没有直接的属性,我向ListView发送了一个样式消息,我用它来取消设置LVS_SINGLESEL。在我的代码中,它看起来像这样:

public const int GWL_STYLE = -16;
public const int LVS_SINGLESEL = 0x0004;

[DllImport("coredll")] 
public static extern int GetWindowLong(IntPtr hWnd, int nIndex); 

[DllImport("coredll")] 
public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);

public static void EnableLVMultiSelect(System.Windows.Forms.ListView lv)
{
    int style = GetWindowLong(lv.Handle, GWL_STYLE);
    SetWindowLong(lv.Handle, GWL_STYLE, (style & ~LVS_SINGLESEL)); 
}

这段代码现在做的是,如果我在最后一行之后开始,我可以选择多行。但我不能选择让我们在文件资源管理器中说出10行中的第2,3,4行。 我在具有不同Windows Mobile版本(5.0和6.5)的两个不同设备上尝试了它们,它们的行为都相同。

我有什么遗失的吗?或者.Net Compact Framework无法实现这一点吗?

0 个答案:

没有答案