2009-08-17 96 views

回答

0

如果列表仅在具有焦点时才滚动,是可以的吗?如果是这样,请使用Control.MouseWheel事件。

如果列表没有焦点,是否需要滚动列表?然后,您需要实现鼠标挂钩,如其他文章中所述,或者查看Application.AddMessageFilter方法。 Application.AddMessageFilter为您提供了一个托管版本的鼠标钩子。你可以在他们进来的时候预览这些信息。我写了一些关于它的信息here

+0

我只想滚动它,如果它有焦点 – Kai 2009-08-17 20:24:35

+0

好的,那么MouseWheel应该工作。覆盖MouseWheel。找出哪种方式来滚动(向下积极三角洲,我认为?),采取当前选定的索引,添加一个已知的值,并调用ListView.EnsureVisible(newIndex)。 – 2009-08-17 20:54:19

+0

Err,当我说“已知值”时,会出现一个像“wheel down = 4 rows”这样的规则,并在新索引上调用EnsureVisible(listView.SelectedIndex + 4),但不要忘记限制新的指数。 – 2009-08-17 20:55:45