我有一个多列ListView控件设置为MultiSelect和Details视图。当用户点击列表中的任何项目时,我想将其视为CTRL +单击该项目。因此,如果他们点击已经选中的项目,它将取消选择它。或者,如果他们选择第二个项目,它将选择它而不取消选择其他所选项目。这适用于自助服务终端风格的应用程序,其中输入通过触摸屏完成,键盘可能对用户可用或不可用。
答案 0 :(得分:1)
您可以通过处理MouseUp
事件并使用HitTest
检查已点击的项目来执行此操作。然后设置项目的Selected属性:
item.Selected ^= true
您还可以从ComponentOwl查看免费软件组件Better ListView Express。 它具有强大的所有者绘图,允许您display items in any state。 它还允许您自定义项目的高度。完整版提供了更多有趣的功能。
答案 1 :(得分:0)