我做了一个播放器列表的控件,在一个Panel里加一些label(影片名称),功能很简单,点一个label(影片标题)可以让下面的一些label(影片分集)隐藏或显示,奇怪的是实现起来反应很慢,大概要1、2秒的时间才有效果,请问有没有什么好的方法?

解决方案 »

  1.   

    代码很简单
    public void doExpand()
    {
    if (LabelImage.ImageIndex == 0) {
    LabelImage.ImageIndex = 1;
    expanded = true;
    foreach ( c in lbllist) {
    c.Visible = true;
    }
    } else {
    LabelImage.ImageIndex = 0;
    expanded = false;
    foreach ( c in lbllist) {
    c.Visible = false;
    }
    }
    //RaiseEvent onExpand(Me, New EventArgs)
    }
      

  2.   

    建议用GDI+绘制而不使用控件。
      

  3.   

    把label放到另一个panel里面隐藏panel,遍历需要速度,不过基本上遍历几百上千个分集的速度应该感觉不出来的,你这代码太少,而且界面布局也不知道你是怎么划分的