如何将MS访问列表框的默认滚动设置为top

时间:2013-07-18 16:42:46

标签: ms-access listbox default

我在MS Access form 2010上有一个多选列表框,我有一个例程,可以选择这样的默认值

 For i = 0 To CategoriesList.ListCount - 1
If InStr(1, ",2,3,17,6,22,13,10,48,39,18,", ("," & CategoriesList.ItemData(i) & ",")) Then
CategoriesList.Selected(i) = True
End If
Next i

效果很好, 现在问题是列表框只有三个项目的高度,它总共有48个iems,一旦我执行上面的例程,列表框显示最后三个项目是默认的(滚动到底部)

默认情况下如何让列表框滚动到顶部?

2 个答案:

答案 0 :(得分:1)

要执行此操作,无需将焦点设置到列表框,请反向循环显示列表项。由于代码将在第一个项目上结束,因此列表框将滚动到顶部:

    For i =  (CategoriesList.ListCount - 1) to 0 Step -1
    If InStr(1, ",2,3,17,6,22,13,10,48,39,18,", ("," & CategoriesList.ItemData(i) & ",")) Then
    CategoriesList.Selected(i) = True
    End If
    Next

答案 1 :(得分:0)

您可以通过将ListIndex设置为1(第一项)来实现此目的,但它需要列表框具有焦点:

Me.List6.Selected(8) = True
Me.List6.Selected(9) = True
Me.List6.SetFocus
Me.List6.ListIndex = 1

如果将ListIndex设置为第一个找到的项目(i),那么它将使其成为列表中的顶部(显示)项目。