0
Я создал 16 в текстовые поля Form Designer и хотел бы получить доступ к ним с помощью массиваДоступ к 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). Как создать массив, содержащий все текстовые поля и доступ к которому можно получить из любого метода?
В конструкторе он выглядит, как вы наполнение массива. Способ, которым вы пытаетесь получить доступ к нему из этого класса? – JonE
Этот массив является локальным для класса Form1. Если вы хотите получить к нему доступ из другого класса, вам понадобятся две вещи. Сделайте массив открытым и передайте другому классу правильный экземпляр Form1. Однако это должно быть сделано по-разному, используя метод класса Form1, который возвращает то, что требуется другому классу. – Steve
Удалите 'TextBox []' из строки 'TextBox [] descripArr = {..', и вы фактически интонизируете тот, который у вас есть объявлено ранее, не создавая нового. – TaW