我正在处理一段我继承的代码,并尝试将其扩展为只能选择一行,以便能够选择多行。
基本上,我正在使用的项目显示为数据表。它包含“OnSelectItem”和“OnMouseDown”的方法,“OnMouseDown”检查单击是鼠标右键单击还是单击鼠标左键。
通常,如何支持支持Multi Select实现的功能?是否通过识别鼠标点击以及按住特定键来处理它还是有不同的方法来实现这种类型的功能?
答案 0 :(得分:2)
您的评论表明您正在使用自定义控件。因此,适用于Microsoft提供的一般控件的答案可能根本不起作用。
您应该能够使用已列出的事件来处理此自定义控件中的多选功能。
作为示例,您可以查看CheckedListBox控件。它在每行前面都有一个复选框。如果选中该框,则该行被“选中”。如果这不是您正在寻找的选择类型,那么您可以在详细模式下查看ListView控件。它允许您设置允许用户突出显示多行的选项,使用CTRL和/或SHIFT修改鼠标单击影响选择的方式。
答案 1 :(得分:0)
就我的观点而言,就多重选择而言,除了鼠标点击之外还需要关键板支持
1)在控件中如果我们按下shift键然后按向上或向下箭头键,则行也会被选中
2)我们还可以通过复选框列实现多选功能,我不确定您的情况是否可行
3)固定列也有基本功能,在该列的鼠标点击上整行都被选中