就像主题说我有一个listview,我想添加Ctrl+ Aselect all快捷方式.我的第一个问题是我无法弄清楚如何以编程方式选择列表视图中的所有项目.它似乎应该相对容易,比如ListView.SelectAll()或ListView.Items.SelectAll(),但似乎并非如此.我的下一个问题是如何定义键盘快捷键ListView.我是否在某个KeyUp活动中这样做,但那你怎么一次检查两台印刷机?或者它是你设置的属性?
这里的任何帮助都会很棒.
我尝试使用以下代码来检查和取消选中列表视图中的项目。在一切的背后,检查功能似乎正在发挥作用。问题是取消选中功能不起作用,并且选中已选中的项目只会使复选框可见,而不会触发选中事件或取消选中该框。我发现的所有内容都表明这应该可行,但我只是无法在这里提出可行的解决方案。谁能解释为什么 0x1000 没有取消选中这些项目以及为什么复选框对我来说不可见?
谢谢
public class NativeMethods
{
private const int LVM_FIRST = 0x1000;
private const int LVM_SETITEMSTATE = LVM_FIRST + 43;
private const int LVIF_STATE = 0x8;
private const int LVIS_UNCHECKED = 0x1000;
private const int LVIS_CHECKED = 0x2000;
private const int LVIS_CHECKEDMASK = 0x3000;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct LVITEM
{
public int mask;
public int iItem;
public int iSubItem;
public int state;
public int stateMask;
[MarshalAs(UnmanagedType.LPTStr)]
public string pszText;
public int cchTextMax;
public int iImage;
public …Run Code Online (Sandbox Code Playgroud)