日期:2014-05-17  浏览次数:20963 次

谁能看懂为什么?

            int x = 50;
            int y = 30;
            for (int i = 0; i < 10; i++)
            {
                int xx = x + (i * 10);
                int yy = y + (i * 10);
                Label label = new Label();
                label.Location = new System.Drawing.Point(xx, yy);
                label.Name = i.ToString();
                label.Text = i.ToString();
                panel1.Controls.Add(label);
            }


此段代码只会在panel里生成一个label,为什么?请大神回答原因

------解决方案--------------------
1.lable的Name 加个字母试试
2.是不是panel的空间小了点 没看到呢?
------解决方案--------------------
 int yy = y + (i * 30);

你把i*10改成i*30试试
其实生成了10个,只不过都被第一个盖住了
------解决方案--------------------
或者你在循环里加一句
 label.BorderStyle = BorderStyle.FixedSingle;
就知道了
------解决方案--------------------
被遮住了吧
  int xx = x + (i * 50);
  int yy = y + (i * 60);
------解决方案--------------------
把label的backgroundcolor设置一下看的清楚些
断点看一下panel1.Controls里面到底有几个