Индекс установленного / не отмеченного флажка в просмотре списка - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь изменить файл XML на основе значения (true / false) отмеченного флажка в просмотре списка, поэтому мне нужен индекс используемого флажка. Проблема в том, что всякий раз, когда я устанавливаю или снимаю флажок, я получаю тот же результат при использовании ListView.FocusedItem.Index, потому что при нажатии на флажок элемент не выбран.

Можно ли получить индекс текущего используемого флажка в виде списка?

1 Ответ

0 голосов
/ 29 октября 2018

В событии ListView ItemCheck проверьте e.Index. Вот пример того, как я использовал это.

Private Sub lvCoffee_ItemCheck(ByVal sender As Object, ByVal e As ItemCheckEventArgs) Handles lvCoffee.ItemCheck
        ' e.Current state - the state before the click
        ' e.New State - after the click
        'While the ListView loads the check boxes, keep the update code from running
        If LoadingChecks Then
            Exit Sub
        End If
        'This code runs BEFORE the check mark changes
        'Hence the use of e.NewValue
        Dim bolFav As Boolean
        If e.NewValue = CheckState.Checked Then
            bolFav = True
        Else
            bolFav = False
        End If
        Cursor.Current = Cursors.WaitCursor
        Try
            'I store the primary key value in the Tag property of the ListViewItem
            DataAccess.UpdateFavorites(CInt(lvCoffee.Items(e.Index).Tag), bolFav)
        Catch ex As Exception
            MessageBox.Show($"The change to {lvCoffee.Items(e.Index).SubItems(1).Text} failed.{vbCrLf}{ex.Message}", "Favorites change Failed", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            Cursor.Current = Cursors.Default
        End Try
    End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...