本帖最后由 bcrun 于 2011-07-15 12:59:20 编辑

解决方案 »

  1.   

    本帖最后由 bcrun 于 2011-07-15 13:12:28 编辑
      

  2.   

    "这21个文本框的数据会在listbox中显示为一行。"
    数据之间是用什么分割的,你的问题在于fro循环时vpp的值始终不变,自然就没有效果
    要先分割list的每行数据,取到vpp的值给vpp 
      

  3.   

    数据之间用vbtab分割。
    经你这么一说,我确实是找到原因了。但具体该怎么解决这个问题呢?我在listbox中添加数据的代码如下:
    Private Sub Command1_Click() '开始测量按钮
    Dim data(20)
    dim i as integer
    For i = 0 To 20
    data(i) = Text1(i).Text
    Next i
    List1.AddItem data(0) & vbTab & data(1) & vbTab & data(2) & vbTab & data(3) & vbTab & data(4) & vbTab & data(5) & vbTab & data(6) & vbTab & data(7) & vbTab & data(8) & vbTab & data(9) & vbTab & data(10) & vbTab & data(11) & vbTab & data(12) & vbTab & data(13) & vbTab & data(14) & vbTab & data(15) & vbTab & data(16)End Sub
    还有一个问题:如果我把21个文本框的数据像上面代码中这样全部用additem添加的话,listbox会提示下标越界,所以我现在只添了17个数据。怎么能把21个数据都在listbox中显示为一行?我学vb不久,希望高手能给小弟指点迷津。谢谢!
      

  4.   


    Private Sub Command2_Click() '保存(合格)
    Dim k As Integer
    For k = List1.ListCount - 1 To 0 Step -1
      If vpp <= vppmax And vpp >= vppmin Then
      List1.RemoveItem k
      End If
    Next k
    我们来分析下你的代码,你的本意是循环判断删除对吧
    但是你看看循环中你的vpp,vppmax,vppmin并没有根据list item的变化而变化阿。那么这个循环又有什么意义呢。你的vpp需要根据循环而变化才可以达到效果吧
    断点debug一下就出来了
      

  5.   

    你分析的很对,我也明白原因了,但你说的断点debug一下具体怎么做?我是新手,不懂啊。
      

  6.   

    由于你使用的List1.AddItem 只将数据添加在一行上,只有一个数据项,所以Command2_Click事件只对一个项目操作,List1.ListCount 的值是1,不可能对多个数据起作用。