Как установить значение в текстовое поле в c# из зубчатого массива? - PullRequest
1 голос
/ 17 июня 2020

На рисунке я хочу, чтобы кнопка сохранения сохраняла записи клиентов в зубчатом массиве, а затем, когда я нажимаю кнопку «Показать», сохраненные имена должны отображаться в текстовом поле ниже.

enter image description here

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace week5hw
{
    public partial class Form1 : Form
    {
        string[][] str = new string[3][];

        public Form1()
        {
            InitializeComponent();
        }
        public void Button1_Click(object sender, EventArgs e)
        {
            String names = textBox1.Text;
            str[0] = new string[5];
            str[0][0] = names;
       }

        private void Button2_Click(object sender, EventArgs e)
        { 

        }
    } 
}

1 Ответ

0 голосов
/ 18 июня 2020

Я до сих пор не понимаю, как здесь применяется зубчатый массив. Вам необходимо предоставить более подробную информацию о том, как программа должна работать.

В любом случае вам нужно объявить переменную int, чтобы отслеживать, сколько из этих мест было использовано. Эту переменную также можно использовать для определения того, в какой «строке» вашего зубчатого массива хранить введенное имя.

Может выглядеть примерно так:

public partial class Form1 : Form
{

    int count=0;
    string[][] str = new string[3][];

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        label1.Text = "The number of free space in room is: " + str.Length;
        textBox2.Multiline = true;   
    }

    private void button1_Click(object sender, EventArgs e)
    {
        if (textBox1.Text.Trim().Length > 0)
        {
            if (count < str.Length)
            {
                str[count] = new string[] { textBox1.Text };
                count++;
                label1.Text = "The number of free space in room is: " + (str.Length - count);
                textBox1.Clear();
                textBox1.Focus();
            }
            else
            {
                MessageBox.Show("No space left!");
            }
        }                
    }

    private void button2_Click(object sender, EventArgs e)
    {
        textBox2.Clear();
        for(int i=0; i<count; i++)
        {               
            textBox2.AppendText(str[i][0] + "\r\n");
        }
    }

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