本帖最后由 langel000 于 2012-06-13 17:33:30 编辑

解决方案 »

  1.   

    我这是从串口用MSCOMM中的CommEvnet事件读取一组一组的数据然后输出显示到表格中,输出数据的时间设定有几十秒的间隔,不怕效率低
      

  2.   

    不要用二维数组。一维数组按需求排列就行。所谓二维数组,在计算机内存中还是线性化的。在窗体上放置一个 Frame 容器,内部放 100 个 Lable,构成数组(复制粘贴即可),放置顺序从右下角开始。放置第一个 Lable 时,设置其属性 Appearence = 0-Flat,BorderStyle = 1-Fixed Single,Index = 0。复制后挨个放置,拼成网格。注意,Lable 的开销比 TextBox 小很多。显示:Dim i As IntegerFor i = 99 to 1
    Lable(i).Caption = Lable(i - 1).Caption
    Next iLable(0) = strNewData
      

  3.   

    忘记了,Frame 是有用的。Dim i As IntegerFrame1.Visible = FalseFor i = 99 to 1
    Lable1(i).Caption = Lable1(i - 1).Caption
    Next iLable1(0) = strNewDataFrame1.Visable = True
    Me.Refresh暂时禁止这些空间的可视性,是避免每个控件重新赋值的时候引起界面刷新,降低性能。
    最后窗体刷新,是保证界面及时地整体刷新。
      

  4.   

    对不起,忽略了一点:For i = 99 to 1 Step -1
    Lable1(i).Caption = Lable1(i - 1).Caption
    Next i