2016-02-09 3 views
0

Хорошо, у меня есть список с флажками и кнопкой, как это работает, так это то, что я должен проверять элементы, которые я хочу изменить, а затем нажмите кнопку, чтобы изменить значение отмеченных item, вот мой код на кнопке.Listview Checkbox - vb.net

 Try 
     Dim I As Integer 
     If lv_id.CheckedItems.Count = 0 Then 
      For I = 0 To lv_id.Items.Count - 1 
       lv_id.Items(I).SubItems(1).Text = "Pending" 
      Next 
     Else 
      For I = 0 To lv_id.CheckedItems.Count - 1 
       lv_id.CheckedItems(I).SubItems(1).Text = "Submitted" 
      Next 
     End If 
     Proc_Items.BackColor = Color.Green 
    Catch ex As Exception 
     MessageBox.Show(ex.Message) 
    End Try 

Теперь, что я хочу сделать, чтобы удалить кнопку, а затем, когда я буду проверять этот пункт я хочу код выше будет делать процесс, не нажимая на кнопку, я попробовал «ItemCheck, ItemChecked «событие, но без везения.

+0

Какие проблемы у вас были с этим событием ItemChecked? – Steve

ответ

1

Для этого вам необходимо использовать событие ItemChecked. С помощью ItemCheckedEventArgs вы получаете все, что вам нужно.

Этот пример настройки для переключения 3-й столбец в зависимости от состояния CheckBox

Private Sub ListView1_ItemChecked(sender As Object, e As ItemCheckedEventArgs) Handles ListView1.ItemChecked 
    If e.Item.Checked Then 
     e.Item.SubItems(2).Text = "Submitted" 
    Else 
     e.Item.SubItems(2).Text = "Pending" 
    End If 
End Sub 
1

Если я правильно понял, вы хотите запустить свой код всякий раз, когда ckecbox в вашем ListView будет проверен или снят. Это можно сделать, используя

Public Class Form1 
    'The ListView_SelectedIndexChanged event triggers when a checkbox of the listview gets checked or unchecked 
    Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListView1.SelectedIndexChanged 
     'Put your code here, access all checked items with "ListBox1.CheckedItems" 
    End Sub 
End Class 

Это работало на меня, и я думаю, что это работает и на вас. Если нет, сообщите мне в комментариях, что пошло не так.