我想简单地在列表框中上下移动选定的行。 我的代码有效 - 但我不明白为什么! 在Selected和ListIndex之间有明显的参考差异。如果有人能指出我忽略的(无疑是基本的)观点,我将不胜感激
Private Sub INPUT_AfterUpdate()
If Me.INPUT = "up" Then Call go_up
If Me.INPUT = "down" Then Call go_down
Me.show = me.List59.Column(1)
Me.INPUT = ""
End Sub
Private Sub go_up()
Temp_var = Me.List59.ListIndex
'!!!!!! why do I not need to change Temp_var !!!
me.List59.Selected(Temp_var) = True
End Sub
Private Sub go_down()
Temp_var = Me.List59.ListIndex
Temp_var = Temp_var + 2 '!!!!!! why 2 !!!
me.List59.Selected(a) = True
End Sub
答案 0 :(得分:0)
为什么2?
因为 ListIndex 以0开头,而所选以1开头。
所以+ 1 / -1加1 - > +2/0。
最后一行应为:
Me.List59.Selected(Temp_var) = True