先看关键代码test.Listview1;   ParameterizedThreadStart myDelegate = new ParameterizedThreadStart(test.mygs);for (int i = 1; i < 84; i++){
         myThread[i] = new Thread(myDelegate);
          myThread[i].Start(i);
 }
 
 listView1.Items[i].SubItems[1].Text = cid.ToString();//注意Items[i],上述代码可实现listView1 1~84行实时显示。listView1我是作为属性当成参数传递的但有时i并不连续test.Listview1;
   ParameterizedThreadStart myDelegate = new ParameterizedThreadStart(test.mygs);      for (int i = 1; i < 84; i++){
         if(i==3 || i==5 || i==7){continue;}
         myThread[i] = new Thread(myDelegate);
          myThread[i].Start(i);
 }         类似这样的我想在Listview显示成连续的,代码怎么写?

解决方案 »

  1.   

    listView1的Items我是根据传递过来的i赋值的:listView1.Items[i].SubItems[0].Text = "...";       int v=0;
          for (int i = 1; i < 84; i++){
             if(i==3 || i==5 || i==7){continue;}
          test.Listview1;
          test.ItemsID=v;//添加一个参数用来代替原来的i
           ParameterizedThreadStart myDelegate = new ParameterizedThreadStart(test.mygs);         myThread[i] = new Thread(myDelegate);
              myThread[i].Start(i);          v=v+1;
        }listView1改成v这个变量
    listView1.Items[ItemsID].SubItems[0].Text = "...";这样得到的只是多个线程都在最大的那个ItemsID上显示,这是怎么回事呀?
      

  2.   

    看了半天觉的可能是ItemsID定义成public所以成这样了
    可定义成其它传递不了呀。大家帮看看呀。。
      

  3.   

    搞定了,将ItemsID定义成public就可以了
    第一个回帖的这百分送他了~
      

  4.   

    虽然 功能是实现了   但是  不建议用  public 属性来做    存在安全隐患希望楼主  可以继续完善下  想想其他方法    如有困难
    可以联系我
    我是小菜鸟!   说的不好清见谅,   希望能够帮到你!