2015-11-02 5 views
-2

У меня есть 2 элемента управления контрольным списком и вы хотите, чтобы элементы во втором элементе управления отображали состояние, указанное в первом. Например:Как я могу зеркалировать отмеченные элементы из одного CheckedListBox другому?

Checklistbox1 = ЯБЛОКО, MANGGO, банановый, клубничный, виноградный

Затем я проверил manggo и виноград.

checklistbox2 = 0,1,0,0,1

Как я могу идти об этом?

ответ

0

Это должно выполнить то, что вы хотите. Обратите внимание, что если у вас есть событие CheckedListBox2_SelectedIndexChanged, вы можете получить неожиданные результаты, так как этот код вызовет его.

Private Sub CheckedListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CheckedListBox1.SelectedIndexChanged 
    Dim i As Integer 
    For i = 0 To CheckedListBox2.Items.Count - 1 
     CheckedListBox2.SetItemChecked(i, False) 
    Next 
    For Each i In CheckedListBox1.CheckedIndices 
     CheckedListBox2.SetItemChecked(i, True) 
    Next 
End Sub 
0

Если у вас большой список, это может быть немного более эффективным, но вы получите тот же результат.

Private Sub CheckedListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CheckedListBox1.SelectedIndexChanged 
    Dim i As Integer 
    For i = 0 To CheckedListBox2.Items.Count - 1 
     CheckedListBox2.SetItemChecked(i, CheckedListBox1.GetItemCheckState(i)) 
    Next 
End Sub 

Кроме того, вы можете иметь checkonclick свойство вашего ListBoxes значение ИСТИНА, чтобы спасти вас, чтобы нажать на пункт дважды - и она дает более consitent результаты как с моим кодом и кодом от @josh, но если вам нужно что-то сделать, когда вы выбираете элемент, вы можете его отключить

+0

, но в checklistbox2 нет элемента и в списке checklistbox1 из элемента базы данных, – Antroyz

+0

Итак, у вас есть в начале список элементов в checklistbox1, но ничего в списке checklistbox2. Когда вы проверяете элементы в файле checklistbox1, вы хотите, чтобы checklistbox2 был заполнен только статусом проверки элементов в списке checklistbox1 или текстом всех элементов в списке checklistbox1? Не могли бы вы показать код, который вы используете для заполнения checklistbox1, пожалуйста? –

+0

@ant - я не знаю, получили ли вы уведомление об этом комментарии, но если вы можете сообщить мне свой ответ, я могу изучить его более -человек –