如何将Labels数组公开

时间:2016-05-16 19:30:32

标签: c# arrays forms label public

    private void Form1_Load(object sender, EventArgs e)
    {
        palabras pala = new palabras();
        pala.Traelo();
        Label[] labels = new Label[pala.cantLetras];

   }
 private void MoveteA()
    {
        for (int i = 0; i < posActLabelsX.Count; i++)
        {
         labels[i].Location=Point(posLabelFormX - posLabelBotonX, posLabelFormY - posLabelBotonY);   
        }
    }

但它不会让我使用它因为它不公开但是如果我公开Label [] labels = new Label [pala.cantLetras];它给了我一个错误,我不知道是什么,但打破了整个程序。

2 个答案:

答案 0 :(得分:0)

公共字段可以直接放在您的类中

public Label[] labels;
private void Form1_Load(object sender, EventArgs e)
{
    palabras pala = new palabras();
    pala.Traelo();
    labels = new Label[pala.cantLetras];
} 
但是,如果你不在课堂外使用它,你可以将它保密,你仍然可以在两种方法中使用它,因为它们是在你班上

答案 1 :(得分:0)

我会创建一个公共get属性,以及一个像这样的私有集:

    public Label[] labels {get; private set;}
    private void Form1_Load(object sender, EventArgs e)
    {
        palabras pala = new palabras();
        pala.Traelo();
        labels = new Label[pala.cantLetras];
   }

你在for循环中的边界也会导致索引超出界限,修复如下:

for (int i = 0; i < labels.Count; i++)