Ms access 如何将MS access列表框的默认滚动设置为顶部
我在MS access form 2010上有一个多选列表框,我有一个例程,可以像这样选择默认值Ms access 如何将MS access列表框的默认滚动设置为顶部,ms-access,listbox,default,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 它工作得很好, 现在
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个IEM,一旦我执行了上述例程,列表框将显示最后三个默认项目(滚动到底部)
如何在默认情况下使列表框滚动到顶部?您可以通过将
列表索引设置为1(第一项)来实现这一点,但它要求列表框具有焦点:
Me.List6.Selected(8) = True
Me.List6.Selected(9) = True
Me.List6.SetFocus
Me.List6.ListIndex = 1
如果将ListIndex设置为第一个找到的项(i),则它将使该项成为列表中的顶部(显示的)项。要执行此操作,无需将焦点设置为listbox,请反向循环列表项。由于代码将在第一项结束,列表框将滚动到顶部:
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