我在tabcontrol.page0里用代码画了好多外面有矩形的蓝色label,并且在窗体上有个查找label并让其变红色的功能,但查找最后一个label时它总是变红之后又变回了蓝色,我在paint事件里写有重绘代码,其它的label查找时都没有此问题就最后一个label有问题,请大家集思广议,指点一二,谢谢。

解决方案 »

  1.   

    你的最后一个label和其他的label不是同一类型的?
      

  2.   

    是同一个类型的,代码太多了,贴了估计你们也看不懂,我单步跟踪调试时窗体都是白色的,没法看label是什么颜色啊
      

  3.   


      for (int i = 0; i < label2.Length; i++)
                {
                    if (obj1.Name.Substring(0, 3) == label2[i].Name.Substring(0, 3))
                    {
                        lislb2.Add(label2 [i]);
                        Graphics b = label2[i].CreateGraphics();
                        b.DrawRectangle(pen2, 1, 1, 2 * fontsize - 4, 2 * fontsize);
                        b.Dispose();
                        label2[i].Focus();
                        //obj2 = label2[i];
                    }
                }
    此代码是label的mousedown事件里的一段,最后一句注释掉的话lislb2里面的label都是红色(pen2为红色),如果不注释,就lislb2里面最后一个label为红色为什么呢,谁能告诉我一下