我在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,一旦我执行上面的例程,列表框显示最后三个项目是默认的(滚动到底部)
默认情况下如何让列表框滚动到顶部?
答案 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),那么它将使其成为列表中的顶部(显示)项目。