【问题标题】:Treat clicks as CTRL+clicks in ListView将点击视为 ListView 中的 CTRL+点击
【发布时间】:2012-02-09 09:19:51
【问题描述】:

我有一个多列 ListView 控件设置为 MultiSelect 和 Details 视图。当用户单击列表中的任何项目时,我想将其视为 CTRL+单击该项目。因此,如果他们单击已选择的项目,它将取消选择它。或者,如果他们选择了第二个项目,它将选择它而不取消选择其他选定的项目。这适用于信息亭式应用程序,其中输入是通过触摸屏完成的,用户可能会或可能不会使用键盘。

【问题讨论】:

    标签: c# winforms listview .net-3.5


    【解决方案1】:

    您可以通过处理MouseUp 事件并使用HitTest 来检查已单击的项目。然后设置item的Selected属性:

    item.Selected ^= true
    

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

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多