【发布时间】:2014-12-12 20:48:03
【问题描述】:
我已经很久没有使用过winforms了,当我使用时,它是在Visual Basic中。无论如何,我有一个 ListView 控件,我知道这个控件在内部处理键盘上的向上和向下箭头,但我确实需要更多地控制这些键被按下时的行为。
假设我们有一个项目列表 > A、B、C、D、E、F、G
这里的主要问题是有人可以用鼠标突出显示我的 ListView 上的项目列表中的选择。例如,A。如果他们按住鼠标左键并将光标拖到另一个项目(例如,F)并释放,则选择光标所在的项目。不是问题。这会打开一个对话框,他们会做他们的工作,当对话框关闭时,他们会被带回列表,并且他们选择的项目会突出显示(F 仍然突出显示)。再次,不是问题。问题是一旦返回 ListView 他们使用向上或向下箭头键来导航列表。假设他们按了一次向下箭头键。此时,因为他们原来在A上的时候,把鼠标往下拖到F,B就高亮了。因此,即使 F 被正确选择,ListView 仍然认为 A 是最后选择的项目,如果使用向上或向下箭头,它将跳回该选择。
我已经进行了很多研究,并且有各种 sn-ps 代码可以使用 ListView 控件(或其他一些控件或一般的 Form)来执行此操作并捕获键盘按下,但没有什么真正连贯的,至少来自“从头到尾”的例子。有人可以提供一些见解吗?如果您开始讨论委托或创建事件处理程序等,我只要求您详细说明,以便我弄清楚您在说什么。
谢谢!
【问题讨论】: