【问题标题】:Not able to add values in second Combobox无法在第二个组合框中添加值
【发布时间】:2010-10-28 02:35:14
【问题描述】:

这是我的代码。

例如 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 中可用的值 但是当我运行应用程序时,第二个组合框仍然是空的并且没有显示任何值。

【问题讨论】:

    标签: vb.net combobox


    【解决方案1】:

    你已经指定了这个 for 循环

     For a = count To 0
    

    但是你需要添加 STEP -1 才能像那样倒退。

     For a = count To 0 Step -1
    

    【讨论】:

      【解决方案2】:

      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)
      

      如果您想发挥创意,您​​可以创建自己的组合框类并制作您自己的 sorted 属性版本,允许“排序 alpha”、“排序数字”、“排序 alpha Desc”和“排序” numeric desc”,也许还有其他一些选项。但如果你要在很多地方使用它,我只会这样做。

      【讨论】:

      • 现在我如何按升序和降序排列项目并将它们添加到另外两个组合框中。我真的无法在 vb.net 中处理这些循环
      • lol KISS 不一定,意味着设计师很愚蠢。阅读 Wiki 文章:“工程师愚蠢并没有隐含的含义;恰恰相反。”这意味着你很聪明,但是你用额外的变量和声明使问题复杂化了。对于升序和降序,我将发布一些额外的代码。
      • 是的,我知道...我已经阅读过...但是我确实在做愚蠢的循环...lol
      • 感谢您的帮助...我也完成了升序和降序。所以再次感谢
      猜你喜欢
      • 2021-01-11
      • 1970-01-01
      • 1970-01-01
      • 2013-08-09
      • 2012-06-14
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-19
      相关资源
      最近更新 更多