Как использовать массив textbox в методе button_click? - PullRequest
0 голосов
/ 31 мая 2018

Я создал массив текстовых полей строк и столбцов в классе EnterColsAndRows.Мне нужно использовать его в методе button_click для создания массива переменных int для каждой строки и столбца.

public partial class EnterColsAndRows : Form
    {
        public  int width_of_nonogram;
        public  int height_of_nonogram;
        public EnterColsAndRows(int width, int height)
        {
            InitializeComponent();
            width_of_nonogram = width;
            height_of_nonogram = height;
            TextBox[] textBox1 = new TextBox[width_of_nonogram];
           TextBox[] textBox2 = new TextBox[height_of_nonogram];
            for (int i = 0; i < width_of_nonogram; i++)
            {
                textBox1[i] = new TextBox();
                textBox1[i].Text = "Col " + (i + 1);
                Point p = new Point(20, 30 * i);
                textBox1[i].Location = p;
                this.Controls.Add(textBox1[i]);
            }

            for (int i = 0; i < height_of_nonogram; i++)
            {
                textBox2[i] = new TextBox();
                textBox2[i].Text = "Row " + (i + 1);
                Point p = new Point(200, 30 * i);
                textBox2[i].Location = p;
                this.Controls.Add(textBox2[i]);

            }

        }

        private void button1_Click(object sender, EventArgs e)
        {

        }

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Чтобы получить доступ к массиву текстовых полей, вы можете сделать следующее:

foreach (Control x in this.Controls)
{
  if (x is TextBox)
  {
    var textbox = ((TextBox)x);//Your code goes here.
  }
}

С этим вы сможете получить доступ ко всем текстовым полям, что вы можете сделать, это присвоить имя текстовым полям в функции EnterColsAndRows и использоватьэто в приведенном выше коде.

0 голосов
/ 31 мая 2018

Вам нужно прочитать о полях и свойствах классов

private TextBox[] textBox1;
private TextBox[] textBox2;;

...
public EnterColsAndRows(int width, int height)
{

    ...

    textBox1 = new TextBox[width_of_nonogram];
    textBox2 = new TextBox[height_of_nonogram];

    ...

}

private void button1_Click(object sender, EventArgs e)
{
    if(textBox1 != null && textBox1.Length > 0)
    {
        textBox1[0].Text = "Awesome, i am"
    }
}

Дальнейшее чтение

Классы (Руководство по программированию в C #)

Поля (Руководство по программированию в C #)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...