Dostęp do danych w klasie

0

Witam

mam taki problem, chciałbym przechowywać zmienne w osobnej klasie do której powinny mieć dostęp wszystkie okna. Zrobiłem coś takiego ale to nie działa dlaczego ??

Pierwsze okno w którym zapisuje dane do tablicy:

namespace Klasy_test
{
    public partial class Form1 : Form
    {
        Dane dane = new Dane();
        Form2 form2 = new Form2();
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Random rd = new Random();
            dane.tablica = new int[5];
            for (int i = 0; i < dane.tablica.GetLength(0); i++)
            {
                dane.tablica[i] = rd.Next(0, 20);
            }
            richTextBox1.Clear();
            for (int i = 0; i < dane.tablica.GetLength(0); i++)
            {
                richTextBox1.AppendText(dane.tablica[i].ToString()+ System.Environment.NewLine);
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            Form2 form2 = new Form2();
            form2.Show();
        }
    }
}

Klasa dane

namespace Klasy_test
{
    class Dane
    {
        public int[] tablica; 
    }
} 

oraz drugie okno w którym chciałbym wyświetlić dane z tablicy ale niestety jest pusta, dlaczego i jak to zrobić ??

namespace Klasy_test
{
    public partial class Form2 : Form
    {
        Dane dane = new Dane();
        public Form2()
        {
            InitializeComponent();
        }         
        private void button1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dane.tablica.GetLength(0); i++)
            {
                richTextBox1.AppendText(dane.tablica[i].ToString() + System.Environment.NewLine);
            }
        }
    }
} 
1
//form2
    public partial class Form2 : Form
    {
        Dane dane;
        public Form2(Dane dane)
        {
            InitializeComponent();
            this.dane = dane;
        } 
    }

//w form1
        private void button2_Click(object sender, EventArgs e)
        {
            Form2 form2 = new Form2(dane);
            form2.Show();
        }
0

Dzięki za pomoc byłem blisko. Tylko takie małe uzupełnienie klasa dane musi być publiczna:

namespace Klasy_test
{
    public class Dane
    {
        public int[] tablica; 
    }
} 
0

No, a po dwóch miesiącach trwania takiego projektu, nagle okazuje się, że nie wiadomo właściwie kiedy i co zmienia dane w tej głównej klasie, ani czemu aplikacja wypieprza się przy połowie uruchomień.
Utrzymywać ani rozwijać tego się nie da, a wycofać się też szkoda.

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