Как добавить отмеченный элемент из списка проверенных в выпадающий список - PullRequest
2 голосов
/ 24 декабря 2011

Я хочу добавить отмеченный элемент из списка проверенных в мой список, но у меня есть небольшая проблема здесь.В выпадающем списке отображается только 1 последний проверенный элемент.Это мой пример кода.

    If CheckedListBox1.CheckedItems.Count <> 0 Then
        For i As Integer = 0 To CheckedListBox1.CheckedItems.Count - 1
            cbCheckedItem.Text = CheckedListBox1.CheckedItems(i).ToString
        Next i
    End If

Кто-нибудь может помочь мне показать все отмеченные элементы ??спасибо за вашу помощь ...

Ответы [ 3 ]

2 голосов
/ 24 декабря 2011

Вы не добавляете элементы в поле со списком, вы только устанавливаете его свойство Text.Это только изменение текста, отображаемого в данный момент в поле со списком, и одновременно может отображаться только один элемент.

Если вы хотите, чтобы элементы были постоянными и выбираемыми, вам необходимо добавьте их в коллекцию элементов управления Items .

Пример кода:

If CheckedListBox1.CheckedItems.Count > 0 Then
    For Each checkedItem In CheckedListBox1.CheckedItems
        cbCheckedItem.Items.Add(checkedItem.ToString())
    Next
End If

Или, еще лучше, используйте AddRange метод :

If CheckedListBox1.CheckedItems.Count > 0 Then
    Dim checkedItems() As String = CheckedListBox1.CheckedItems.Cast(Of String).ToArray()
    cbCheckedItems.Items.AddRange(checkedItems)
End If
1 голос
/ 29 декабря 2011

Как ни странно, CheckedListBox имеет свойство CheckedItems, которое является коллекцией. Таким образом, вы можете проходить через него, как и любую другую коллекцию, используя цикл For For For.

затем, Каждый элемент должен быть добавлен в коллекцию Предметов ComboBox.

как этот образец:

Public Class frmCheckedListBox

Private Sub frmCheckedListBox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.CheckedListBox1.Items.Clear()
    Me.CheckedListBox1.BeginUpdate()
    Me.CheckedListBox1.Items.Add("One")
    Me.CheckedListBox1.Items.Add("Two")
    Me.CheckedListBox1.Items.Add("Three")
    Me.CheckedListBox1.Items.Add("Four")
    Me.CheckedListBox1.Items.Add("Five")
    Me.CheckedListBox1.EndUpdate()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    For Each Item As String In Me.CheckedListBox1.CheckedItems
        Me.ComboBox1.Items.Add(Item)
        Me.ComboBox1.SelectedIndex = 0
    Next
End Sub

Конечный класс

Как показывает пример кода, коллекция CheckedItems содержит проверенные элементы, как и следует из названия. Он не содержит логического значения для каждого элемента «каждый элемент», чтобы указать, отмечен он или нет. Если элемент отмечен, то этот элемент находится в CheckedItems, а если нет, то нет. Вам просто нужно пройтись по коллекции и получить каждый элемент в ней, потому что она содержит все проверенные элементы и ни один, которые не являются.

в конце вы можете поставить:

Me.Combobox1.items.clear()

потому что, когда он щелкает с образцом кода, у него будет тот, который щелкнул, затем при следующем щелчке вернется предыдущий, который он щелкнул, а затем новый, скомпилированный в меню выбора комбинированного списка

возможно, мой ответ поможет вам решить ваши проблемы

0 голосов
/ 24 декабря 2011

Combobox не имеет опции множественного выбора.поэтому можно выбрать только один элемент за раз.

...