设置为0后,SelectedIndex设置为1

时间:2014-04-21 16:19:40

标签: vb.net winforms listbox

我创建了一个代码,用于检查是否选择了最后一项,然后转到第一项,发出循环感。

Private Sub Main_KeyDown(sender As System.Object, e As KeyEventArgs) Handles FilesBox.KeyDown
    If FilesBox.SelectedIndex = FilesBox.Items.Count - 1 Then
        Last += 1
        If Last = 1 Then
            Last = 0
            FilesBox.SelectedIndex = 0
        End If
    End If
End Sub

当选择最后一个项目时,值" Last"将增加1,确保在您第一次选择右键时按下右键,再按一次后,它将转到第一项。

它按预期工作正常但不知何故在索引设置为0之后,它从不知道变为1,这将转到列表中的第二项......任何想法是怎么回事?

1 个答案:

答案 0 :(得分:2)

您已停止控制处理该键事件。将索引设置为零后,键盘操作仍然将项目向下移动:

Private Sub FilesBox_KeyDown(sender As Object, e As KeyEventArgs) _
                                               Handles FilesBox.KeyDown
  If FilesBox.SelectedIndex = FilesBox.Items.Count - 1 Then
    FilesBox.SelectedIndex = 0
    e.SuppressKeyPress = True
  End If
End Sub