在运行时更改Label [,]属性

时间:2012-05-07 13:48:03

标签: c# winforms multidimensional-array labels

我有一个制作35个标签的(新)lblArray的方法,但只需按一下按钮就可以重置阵列上的标签。

所以我在button1_onclick中放了相同的方法,但是它只是在前一个下面创建了一个新数组..

你们能帮我推进正确的方向吗?

提前致谢! 大卫

一些代码:

public void CreateLableArray() {      
      LblArray = new Label[5, 7];
      int xpos = 0;
      int ypos = 0;

      for (int x= 0; x< 5; x++) {
        for (int y= 0; y< 7; y++) {
          LblArray[x, y] = new Label();
          LblArray[x, y].Left = xpos;
          LblArray[x, y].Top = ypos;
          LblArray[x, y].Width = 50;
          LblArray[x, y].Height = 50;
          LblArray[x, y].Text = String.Empty;         
          LblArray[x, y].Click += lblArray_Click;
          LblArray[x, y].BackColor = Color.Aqua;
          LblArray[x, y].BorderStyle = BorderStyle.FixedSingle;

          pnlPanel.Controls.Add(LblArray[x, y]);

          xpos += LblArray[x, y].Width;
        }
        ypos += LblArray[x, 0].Width;
        xpos = 0;
      }
    }/*CreateLableArray*/

private void EmptyLabels() {
      for (int x = 0; x < 5; x++) {
        for (int y = 0; y < 7; y++) {
          LblArray[x, y].BackColor = Color.Aqua;
        }
      }
    }

1 个答案:

答案 0 :(得分:0)

听起来你需要更改标签的所有颜色,所以不是制作新标签,而是通过删除旧标签和添加新标签的所有工作,更容易更改现有标签的颜色。既然你发现如何将它改成另一种颜色我认为你有能力做到这一点,是吗?如果没有,同样如此,我们可以帮助您使用相关的代码段。