2015-10-26 40 views
0

我創建的窗體設計器16個文本框和想使用數組訪問一個TextBox arrary

到目前爲止,我已經做到了這一點

public partial class Form1 : Form 
{  
    TextBox[] descrip2Arr; 

    public Form1() 
    { 
     InitializeComponent(); 


     TextBox[] descripArr = { decrip1_Box, decrip2_Box, decrip3_Box, decrip4_Box, 
            decrip5_Box, decrip6_Box, decrip7_Box, decrip8_Box, 
            decrip9_Box, decrip10_Box,decrip11_Box,decrip12_Box, 
            decrip13_Box,decrip14_Box,decrip15_Box,decrip16_Box}; 


     for (int i = 0; i < descrip2Arr.Length; i++) 
      descrip2Arr[i].Text = "Descrip 2 cod " + (i + 1).ToString(); 

    } 
} 

這似乎是工作確定訪問它們。 問題是,當我嘗試從另一個方法訪問數組的某個成員時,該數組爲空(null)。 如何創建一個包含我所有文本框的數組,並且可以通過任何方法訪問這些數組?

+0

在它看起來像你填充數組構造做到這一點。你試圖從這個類中訪問它的方法是什麼? – JonE

+0

此數組對Form1類是本地的。如果你想從另一個班級訪問它,你需要兩件事。公開該數組,併爲其他類提供正確的Form1實例。然而,這應該以不同的方式使用Form1類中的方法返回其他類需要的內容 – Steve

+0

從TextBox [] descripArr = {...'行中刪除'TextBox []',並且您實際上將您擁有的早些時候宣佈,而不是創建一個新的。 – TaW

回答

0

您也可以使用列表

List<TextBox> myBoxes = new List<TextBox>(); 

     myBoxes.Add(textBox1); 
     myBoxes.Add(textBox2); 
     myBoxes.Add(textBox3); 
     myBoxes.Add(textBox4); 
     myBoxes.Add(textBox5); 

     myBoxes[0].Text = "Something";