在ClickView中将点击视为CTRL +点击

时间:2012-01-13 04:43:37

标签: c# winforms listview .net-3.5

我有一个多列ListView控件设置为MultiSelect和Details视图。当用户点击列表中的任何项目时,我想将其视为CTRL +单击该项目。因此,如果他们点击已经选中的项目,它将取消选择它。或者,如果他们选择第二个项目,它将选择它而不取消选择其他所选项目。这适用于自助服务终端风格的应用程序,其中输入通过触摸屏完成,键盘可能对用户可用或不可用。

2 个答案:

答案 0 :(得分:1)

您可以通过处理MouseUp事件并使用HitTest检查已点击的项目来执行此操作。然后设置项目的Selected属性:

item.Selected ^= true

您还可以从ComponentOwl查看免费软件组件Better ListView Express。 它具有强大的所有者绘图,允许您display items in any state。 它还允许您自定义项目的高度。完整版提供了更多有趣的功能。

答案 1 :(得分:0)