Private Sub Label1_Change(Index As Integer)With ListView1
    .ListItems(Index).SubItems(1) = Label1(Index).Caption
End WithEnd SubPrivate Sub Command1_Click()
 ' 手动按下 Command1_Click() 时, 才让 ListView1 画面刷新到最新的值 
End Sub
' Label1 是一个 500 个控件阵列
' 请问
' 如何让  .ListItems(Index).SubItems(1) 填入数值后,  ListView1 画面不刷新为最新的值 
' 手动按下 Command1_Click() 时, 才让 ListView1 画面刷新到最新的值 

解决方案 »

  1.   

    不知是不是能发送什么 Message 让 ListView1 不要刷新 
      

  2.   

    用两个listview得了,重叠在一起,更新值到后面隐藏的那个.
    需要显示的时候当前的隐藏,后面的显示 (觉得这方法比较烂)
      

  3.   


    不行, 之所以要一段时间才更新
    就是要降低 listview 刷新次数Private Sub Label1_Change(Index As Integer) 
    共有 500 个
    Change 速度都是很频繁的 
    listview 频繁刷新会拖累效能的原本我是打算用 sunjs12345 说的方法
    但想了想
    搞不好有  API 可以直接办到
    那是不是用 API 就好了
    又可省下额外的 "把数值存到变量里" 步骤
    Label1 控件数量要是很多, 到时变量处理又是得额外花一笔时间
      

  4.   

    不要把数据直接保存到LV上面 弄个数组保存 需要提交的时候再将数组输出到LV上面
      

  5.   

    这也是刚玩VB的时候经常犯的小错误 可以说是一种不良的习惯 这样虽然简便 但是却是一种低效的方法
    论坛签名======================================================================

    当您的问题得到解答后请及时结贴.

    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
    http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
    http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html如何给分和结贴?
    http://community.csdn.net/Help/HelpCenter.htm#结帖如何给自己的回帖中也加上签名?
    http://blog.csdn.net/q107770540/archive/2011/03/15/6250007.aspx
      

  6.   

    可以
    先.Visible=False
    修改数据
    再.Visible=True
    试试
      

  7.   

    Private Sub Label1_Change(Index As Integer)
    SendMessage ListView1.hWnd, WM_SETREDRAW, 0&, ByVal 0&
    With ListView1
      .ListItems(Index).SubItems(1) = Label1(Index).Caption
    End WithEnd SubPrivate Sub Command1_Click()
     ' 手动按下 Command1_Click() 时, 才让 ListView1 画面刷新到最新的值  
      SendMessage ListView1.hWnd, WM_SETREDRAW, 1&, ByVal 0&
    End Sub
      

  8.   


    呵呵被你唬了被实验确定就直接相信给了你最佳解答结果你的 code 并不能达到目的