无法在第二个Combobox中添加值

时间:2010-10-27 13:41:40

标签: vb.net combobox

这是我的代码。

例如TextBox1.Text = 12,34,45,67,67

            Dim process_string As String() = TextBox1.Text.Split(New Char() {","})
        Dim process As Integer

        For Each process In process_string 
            Combo1.Items.Add(process)
            count = count + 1
        Next process
      total_process.Text = count
    End If

    Dim array(count) As String
    Dim a As Integer
    For a = 0 To count - 1
        array(a) = Combo1.Items(a).ToString
    Next

    a = 0
    For a = count To 0
        Combo2.Items.Add(array(a).ToString)
    Next

我想在combobox2中以相反的顺序添加可在combobox1中使用的值 但是当我运行应用程序时,第二个组合框保持为空并且没有显示任何值。

2 个答案:

答案 0 :(得分:2)

你已经为循环

指定了这个
 For a = count To 0

但是你需要添加STEP -1来反过来。

 For a = count To 0 Step -1

答案 1 :(得分:0)

2件事。首先,K.I.S.S. Keep it simple stupid

    For i As Integer = ComboBox1.Items.Count - 1 To 0 Step -1
        ComboBox2.Items.Add(ComboBox1.Items(i))
    Next

第二:它没有用,因为你忘记了最后一个循环的步骤-1

~~~~~~~~~~~~~~编辑~~~~~~~~~~~~~~

使用组合框中的sorted属性对组合框中的数据进行排序

ComboBox3.Sorted = True

按照相反的顺序对数据进行排序应该像之前尝试的那样使用数组完成。以下代码应该足够了:

    Dim List As ArrayList = ArrayList.Adapter(ComboBox3.Items)

    List.Sort()
    List.Reverse()

    ComboBox4.Items.AddRange(List.ToArray)

如果你想获得创意,你可以创建自己的组合框类并制作自己的排序属性版本,允许“排序alpha”,“排序数字”,“排序alpha Desc”和“排序”数字desc“和其他一些选项。但是如果你打算在很多地方使用它,我只会这样做。