Przekazanie tablicy z form1 do form2

0

Witam. Chciałbym się dowiedzieć w jaki sposób mogę przekazać tablicę stringów z danymi z form1 do form2?
Próbowałem w poniższy sposób ale niestety nie działa :/

FORM1:

private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2(array);
form2.Show();
this.Hide();
}

FORM2:

public Form2(string[] array)
{
} 
0

To znaczy co konkretnie nie dziala?

0

To znaczy przy wypisaniu nic nie wypisuje jedynie puste linijki. Czyli tablica jest "pusta". P.S. Na 100% wcześniej jest uzupełniona danymi :D

0

To w takim razie pokaż więcej kodu, albo zobacz debuggerem gdzie zawartość tablicy magicznie znika.

0

Button1 - przejście do Form2
Button2 - dodawanie tekstu z textBox do tablicy

 
namespace Code
{
    public partial class Form1 : Form
    {
        int i = 0;
        string[] array = new string[999];

        public Form1()
        {
            InitializeComponent();
            this.button1.Click += new EventHandler(button1_Click);
            this.button2.Click += new EventHandler(button2_Click);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 form2 = new Form2(array, i);
            form2.Show();
            this.Hide();
        }
        private void button2_Click(object sender, EventArgs e)
        {
            array[i] = textBox1.Text;
            i++;
        }

        private void label3_Click(object sender, EventArgs e)
        {
        }

        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click_1(object sender, EventArgs e)
        {

        }
    }
}
 
namespace Code
{
    public partial class Form2 : Form
    {

        public Form2(string[] array, int i)
        {
            for (int j=0;j< i; j++)
            {
                Console.WriteLine(array[i]);
            }
        }

    }
}
1
for (int j=0;j< i; j++)
{
     Console.WriteLine(array[i]);
} 

Bo wypisujesz element tablicy spod indeksu i, a tam nie ma nic wpisanego.

Czemu w ogóle korzystasz tutaj z tablicy a nie listy?

0

Oh, dziękuję. Moje niedopatrzenie :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1